:root {
  /* 声明仅浅色方案，避免系统浏览器「强制网页暗黑」把米白页反色成脏黑（微信内核通常不套该逻辑） */
  color-scheme: light;
  --bg-top: #f9f6f0;
  --bg-bottom: #e8e2d8;
  --card: rgba(255, 254, 252, 0.94);
  --card-solid: #fffcfa;
  --ink: #1c1917;
  --ink-muted: #5c534a;
  --accent: #b45309;
  --accent-hover: #c2410c;
  --accent-soft: rgba(180, 83, 9, 0.14);
  --border: rgba(28, 25, 23, 0.08);
  --border-strong: rgba(28, 25, 23, 0.12);
  --shadow-soft: 0 4px 32px rgba(28, 22, 18, 0.07);
  --shadow-card: 0 8px 40px rgba(28, 22, 18, 0.08);
  --radius-lg: 18px;
  --radius-md: 12px;
  --tab-inactive: #e8e2d8;
}
* { box-sizing: border-box; }
html {
  background-color: var(--bg-top);
}
body {
  margin: 0;
  min-height: 100vh;
  font-family: "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  background: var(--bg-top);
  color: var(--ink);
  line-height: 1.55;
}
body.app {
  background: linear-gradient(168deg, var(--bg-top) 0%, #f0ebe3 38%, var(--bg-bottom) 100%);
  background-attachment: fixed;
  position: relative;
}
body.app--home {
  /* 首页壳宽与 .page 左右 padding，白卡与更新日志弹层共用 */
  --home-shell-max: 640px;
  --home-page-pad-x: 1.15rem;
  --home-ink: #2c2824;
  --home-card-radius: 16px;
  --home-card-border: rgba(44, 40, 36, 0.08);
  --home-green: #3d6b38;
  --home-green-deep: #2d5a48;
  --home-amber: #c8782a;
  --home-amber-deep: #b45309;
  --home-rust: #9a3412;
  --home-rust-deep: #7c2d12;
  background: linear-gradient(180deg, #faf6f0 0%, #f3ebe0 100%);
  background-attachment: fixed;
}
body.app::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    radial-gradient(ellipse 100% 80% at 50% -30%, rgba(180, 83, 9, 0.07), transparent 52%),
    radial-gradient(ellipse 60% 40% at 100% 100%, rgba(28, 25, 23, 0.04), transparent 50%);
  animation: ambientShift 14s ease-in-out infinite alternate;
}
body.app--home::before {
  background:
    radial-gradient(ellipse 110% 70% at 50% -8%, rgba(61, 107, 56, 0.05), transparent 52%),
    radial-gradient(ellipse 90% 55% at 50% 108%, rgba(44, 40, 36, 0.04), transparent 48%);
  animation: none;
  opacity: 1;
}
@keyframes ambientShift {
  0% { opacity: 1; transform: scale(1); }
  100% { opacity: 0.92; transform: scale(1.02); }
}
body.app.app--home::after {
  display: none;
}
.page {
  max-width: 680px;
  margin: 0 auto;
  padding: 1.75rem 1.15rem 2.5rem;
  position: relative;
  z-index: 1;
}
.page--home {
  max-width: var(--home-shell-max);
}
.page--layout {
  min-height: 100dvh;
  max-height: 100dvh;
  padding-top: 0.65rem;
  padding-bottom: 0.65rem;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-sizing: border-box;
}
.page-head {
  text-align: center;
  margin-bottom: 1.35rem;
  flex-shrink: 0;
  overflow: visible;
}
.page-head--hero {
  margin-bottom: 1.35rem;
  padding-top: 0.35rem;
}
.page-head--shrink {
  margin-bottom: 0.7rem;
  padding-top: 0.15rem;
}
.page-head--compact {
  margin-bottom: 0.45rem;
}
.page-head--compact .brand-title {
  font-size: 1.15rem;
  letter-spacing: 0.1em;
}
.page-head--compact .sub {
  margin-top: 0.35rem;
  font-size: 0.8rem;
}
.page-head--compact .page-heading {
  font-size: 0.95rem;
  margin-top: 0.35rem;
}
.brand-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  margin: 0 auto;
  max-width: 100%;
}
.brand-title {
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0;
  letter-spacing: 0.14em;
  color: var(--ink);
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6);
  animation: heroTitleIn 0.75s cubic-bezier(0.22, 1, 0.36, 1) both;
  flex: 0 1 auto;
  min-width: 0;
}
.brand-logo-link {
  position: relative;
  display: flex;
  align-items: center;
  flex: 0 1 auto;
  min-width: 0;
  line-height: 0;
  text-decoration: none;
  animation: heroTitleIn 0.75s cubic-bezier(0.22, 1, 0.36, 1) both;
}
.brand-logo-link::before {
  display: none;
}
.brand-logo {
  position: relative;
  z-index: 1;
  display: block;
  height: 2.05rem;
  width: auto;
  max-width: min(92vw, 13.5rem);
  object-fit: contain;
  filter: drop-shadow(0 2px 6px rgba(5, 46, 22, 0.14));
}
.page-head--compact .brand-logo {
  height: 1.68rem;
  max-width: min(88vw, 11.5rem);
}
.page--home .brand-logo {
  height: clamp(1.75rem, 5.4vw, 2.2rem);
  max-width: min(92vw, 14.5rem);
}
@keyframes heroTitleIn {
  from {
    opacity: 0;
    letter-spacing: 0.28em;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    letter-spacing: 0.14em;
    transform: translateY(0);
  }
}
.brand-line {
  display: block;
  width: 60px;
  min-width: 40px;
  height: 4px;
  margin: 0;
  flex-shrink: 0;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, var(--accent), #ea580c, var(--accent), transparent);
  background-size: 200% 100%;
  opacity: 0.9;
  transform-origin: center;
  animation: brandLineIn 0.65s cubic-bezier(0.22, 1, 0.36, 1) 0.12s both, brandShimmer 3.5s ease-in-out 1s infinite;
}
.brand-row .brand-line {
  width: 56px;
}
.page-head--compact .brand-row {
  gap: 0.45rem;
}
.page-head--compact .brand-row .brand-line {
  width: 48px;
  min-width: 36px;
}
.brand-slogan {
  display: block;
  flex-shrink: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  margin: 0.32rem 0 0;
  padding: 0 0.35rem;
  text-align: center;
  line-height: 1.45;
  letter-spacing: 0.2em;
  background: linear-gradient(105deg, #5c534c 0%, #7c4a2a 24%, #c2410c 50%, #7c4a2a 76%, #5c534c 100%);
  background-size: 220% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 1px 2px rgba(74, 67, 60, 0.18)) drop-shadow(0 0 10px rgba(234, 88, 12, 0.1));
  animation: brandSloganIn 0.75s cubic-bezier(0.22, 1, 0.36, 1) 0.08s both,
    brandSloganShimmer 5s ease-in-out 0.9s infinite;
}
@keyframes brandSloganIn {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes brandSloganShimmer {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}
.page-head--compact .brand-slogan {
  font-size: 0.75rem;
  margin-top: 0.22rem;
  letter-spacing: 0.16em;
}
.page-head--shrink .brand-slogan {
  margin-top: 0.28rem;
}
/* 首页标语：深金琥珀渐变+微光；不用 brandSloganIn（门闸 visibility:hidden 时动画会卡在 opacity:0） */
.page--home .brand-slogan {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  font-size: clamp(0.78rem, 2.6vw, 0.875rem);
  font-weight: 700;
  margin-top: 0.3rem;
  letter-spacing: 0.22em;
  min-height: 1.45em;
  background: linear-gradient(
    105deg,
    #5c3d0e 0%,
    #78350f 16%,
    #92400e 32%,
    #b45309 44%,
    #c2410c 52%,
    #b45309 60%,
    #92400e 76%,
    #78350f 88%,
    #5c3d0e 100%
  );
  background-size: 220% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  filter:
    drop-shadow(0 1px 0 rgba(255, 255, 255, 0.55))
    drop-shadow(0 1px 2px rgba(69, 45, 10, 0.5))
    drop-shadow(0 2px 6px rgba(120, 53, 15, 0.38))
    drop-shadow(0 0 14px rgba(194, 65, 12, 0.22));
  animation: brandSloganShimmer 5.5s ease-in-out 0.35s infinite;
}
@supports not ((-webkit-background-clip: text) or (background-clip: text)) {
  .page--home .brand-slogan {
    color: #92400e;
    -webkit-text-fill-color: #92400e;
    background: none;
    filter: none;
  }
}
html.box-gate-pending .page--home .brand-slogan {
  animation: none !important;
  background-position: 50% 50%;
}
.brand-slogan + .sub {
  margin-top: 0.35rem;
}
@keyframes brandLineIn {
  from { transform: scaleX(0); opacity: 0; }
  to { transform: scaleX(1); opacity: 0.9; }
}
@keyframes brandShimmer {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}
.page-heading {
  font-size: 1.05rem;
  font-weight: 600;
  margin: 0.55rem 0 0;
  color: var(--ink);
}
.sub {
  font-size: 0.875rem;
  color: #6b635a;
  margin: 0.45rem 0 0;
  text-align: center;
  line-height: 1.5;
}
.block {
  background: var(--card);
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-lg);
  padding: 1.25rem 1.35rem 1.35rem;
  margin-bottom: 1rem;
  box-shadow: var(--shadow-soft);
  backdrop-filter: blur(8px);
}
.page--layout > .block {
  margin-bottom: 0;
  flex: 1;
  min-height: 0;
}
.block--flex {
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.block--flex > .block-title,
.block--flex > .theory-section-title,
.block--flex > .theory-title-row,
.block--flex > .theory-feature-name,
.block--flex > .planb-lib-title-row {
  flex-shrink: 0;
}
.theory-card .theory-feature-name {
  text-align: center;
  font-size: 1.08rem;
  font-weight: 700;
  color: var(--ink);
  margin: 0 0 0.4rem;
  letter-spacing: 0.05em;
  line-height: 1.35;
}
.theory-card .theory-section-title {
  text-align: center;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--accent);
  margin: 0 0 0.85rem;
  padding: 0 0 0.7rem;
  border-bottom: 1px solid var(--border-strong);
  border-left: none;
  width: 100%;
}
.theory-card .theory-section-title--row {
  margin: 0;
  padding: 0;
  border: none;
  width: auto;
  max-width: calc(100% - 2.25rem);
  line-height: 1.3;
}

/* 计算页：顶角方形按钮，绝对定位不占纵向文档流 */
#ioSection.theory-card {
  position: relative;
}
#ioSection .io-corner-nav {
  position: absolute;
  z-index: 3;
  top: 0.78rem;
  left: 0.72rem;
  right: 0.72rem;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.45rem;
  margin: 0;
  pointer-events: none;
}
#ioSection .io-corner-nav__tile {
  pointer-events: auto;
  flex: 0 0 auto;
  box-sizing: border-box;
  width: 3.05rem;
  height: 3.05rem;
  min-width: 3.05rem;
  min-height: 3.05rem;
  max-width: 3.05rem;
  max-height: 3.05rem;
  padding: 0.2rem 0.14rem;
  margin: 0;
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1.18;
  white-space: normal;
  word-break: keep-all;
  text-align: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  border-width: 1px;
  border-style: solid;
  filter: none;
  box-shadow: 0 1px 3px rgba(28, 22, 18, 0.08);
}
#ioSection .io-corner-nav__tile--theory {
  background: linear-gradient(165deg, #fff7ed 0%, #ffedd5 52%, #fed7aa 100%);
  border-color: rgba(194, 65, 12, 0.42);
  color: #9a3412;
  box-shadow: 0 1px 4px rgba(194, 65, 12, 0.14);
}
#ioSection .io-corner-nav__tile--theory:hover {
  background: linear-gradient(165deg, #fffbeb 0%, #fef3c7 48%, #fde68a 100%);
  border-color: rgba(194, 65, 12, 0.55);
  color: #7c2d12;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(194, 65, 12, 0.2);
}
#ioSection .io-corner-nav__tile--home {
  background: linear-gradient(165deg, #ecfdf5 0%, #d1fae5 52%, #a7f3d0 100%);
  border-color: rgba(4, 120, 87, 0.42);
  color: #047857;
  box-shadow: 0 1px 4px rgba(4, 120, 87, 0.12);
}
#ioSection .io-corner-nav__tile--home:hover {
  background: linear-gradient(165deg, #f0fdf4 0%, #dcfce7 48%, #86efac 100%);
  border-color: rgba(4, 120, 87, 0.55);
  color: #065f46;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(4, 120, 87, 0.18);
}
#ioSection .io-corner-nav__tile:focus-visible {
  outline: 2px solid var(--accent-soft);
  outline-offset: 2px;
}
#ioSection .theory-feature-name {
  padding-left: clamp(3.05rem, 4.5vw + 2.35rem, 6.5rem);
  padding-right: clamp(3.05rem, 4.5vw + 2.35rem, 6.5rem);
  box-sizing: border-box;
}
#ioSection .theory-title-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  width: 100%;
  margin: 0 0 0.85rem;
  padding: 0 clamp(3.05rem, 4.5vw + 2.35rem, 6.5rem) 0.7rem;
  border-bottom: 1px solid var(--border-strong);
  box-sizing: border-box;
  flex-shrink: 0;
}
#ioSection .io-hint-trigger {
  flex-shrink: 0;
  width: 1.38rem;
  height: 1.38rem;
  min-width: 1.38rem;
  padding: 0;
  margin: 0;
  border-radius: 50%;
  border: 1px solid rgba(180, 83, 9, 0.5);
  background: linear-gradient(180deg, #fffbeb 0%, #fef3c7 100%);
  color: var(--accent-hover);
  font-size: 0.78rem;
  font-weight: 800;
  font-family: inherit;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 1px 3px rgba(180, 83, 9, 0.15);
  -webkit-tap-highlight-color: transparent;
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}
#ioSection .io-hint-trigger:hover {
  border-color: rgba(180, 83, 9, 0.65);
  box-shadow: 0 2px 6px rgba(180, 83, 9, 0.2);
}
#ioSection .io-hint-trigger:active {
  transform: scale(0.94);
}
#ioSection .io-hint-trigger:focus-visible {
  outline: 2px solid var(--accent-soft);
  outline-offset: 2px;
}
#ioSection:not(.io-section--size):not(.io-section--gb6543):not(.io-section--box0201):not(.io-section--box0201-gb6543):not(.io-section--planb):not(.io-section--planc):not(.io-section--kelike):not(.io-section--more-stack) .io-hint-trigger,
#ioSection:not(.io-section--size):not(.io-section--gb6543):not(.io-section--box0201):not(.io-section--box0201-gb6543):not(.io-section--planb):not(.io-section--planc):not(.io-section--kelike):not(.io-section--more-stack) .io-hint-bubble {
  display: none !important;
}
.io-section--gb6543 .io-hint-bubble,
.io-section--box0201 .io-hint-bubble,
.io-section--box0201-gb6543 .io-hint-bubble,
#ioSection.io-section--planb .io-hint-bubble,
#ioSection.io-section--planc .io-hint-bubble,
#ioSection.io-section--more-stack .io-hint-bubble {
  margin: -0.28rem 0 0.42rem;
  font-size: 0.72rem;
  padding: 0.45rem 0.55rem;
  line-height: 1.5;
}
.io-section--gb6543 .io-hint-trigger,
.io-section--box0201 .io-hint-trigger,
.io-section--box0201-gb6543 .io-hint-trigger,
#ioSection.io-section--planb .io-hint-trigger,
#ioSection.io-section--planc .io-hint-trigger,
#ioSection.io-section--more-stack .io-hint-trigger {
  width: 1.32rem;
  height: 1.32rem;
  min-width: 1.32rem;
  font-size: 0.74rem;
}
.io-section--gb6543 .io-hint-bubble__text strong,
.io-section--box0201 .io-hint-bubble__text strong,
.io-section--box0201-gb6543 .io-hint-bubble__text strong,
#ioSection.io-section--planb .io-hint-bubble__text strong,
#ioSection.io-section--planc .io-hint-bubble__text strong,
#ioSection.io-section--more-stack .io-hint-bubble__text strong {
  color: var(--ink);
  font-weight: 700;
}
#ioSection.io-section--more-stack .io-hint-bubble__text p {
  margin: 0 0 0.38rem;
}
#ioSection.io-section--more-stack .io-hint-bubble__text p:last-child {
  margin-bottom: 0;
}
.io-section--box0201.theory-card .theory-title-row {
  margin-bottom: 0.22rem;
  padding-bottom: 0.28rem;
}
.io-section--box0201.theory-card .theory-feature-name {
  margin-bottom: 0.28rem;
}
#ioSection .io-hint-bubble {
  margin: -0.35rem 0 0.55rem;
  padding: 0.5rem 0.65rem;
  font-size: 0.78rem;
  line-height: 1.45;
  color: var(--ink-muted);
  text-align: left;
  background: linear-gradient(180deg, rgba(255, 251, 235, 0.95) 0%, rgba(254, 243, 199, 0.65) 100%);
  border: 1px solid rgba(180, 83, 9, 0.22);
  border-radius: 10px;
  box-shadow: 0 2px 10px rgba(28, 22, 18, 0.06);
  flex-shrink: 0;
}
#ioSection .io-hint-bubble__text {
  margin: 0;
}
#ioSection .io-hint-bubble[hidden] {
  display: none !important;
}
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.block--animate {
  animation: blockRise 0.55s cubic-bezier(0.22, 1, 0.36, 1) 0.08s both;
}
@keyframes blockRise {
  from {
    opacity: 0;
    transform: translateY(16px) scale(0.985);
    filter: blur(2px);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}
.block--elevated {
  box-shadow: var(--shadow-card);
  border-color: rgba(255, 255, 255, 0.65);
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.97) 0%, rgba(252, 249, 244, 0.96) 100%);
}
.pick-scroll {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  padding: 0.15rem 2px 0.25rem 0;
  margin: 0 -2px 0 0;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: rgba(180, 83, 9, 0.35) transparent;
}
.pick-scroll::-webkit-scrollbar {
  width: 5px;
}
.pick-scroll::-webkit-scrollbar-thumb {
  background: rgba(180, 83, 9, 0.28);
  border-radius: 99px;
}
.pick-scroll::-webkit-scrollbar-track {
  background: transparent;
}
.scroll-panel {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding-right: 2px;
  margin-right: -2px;
  scrollbar-width: thin;
  scrollbar-color: rgba(180, 83, 9, 0.35) transparent;
}
.scroll-panel::-webkit-scrollbar {
  width: 5px;
}
.scroll-panel::-webkit-scrollbar-thumb {
  background: rgba(180, 83, 9, 0.28);
  border-radius: 99px;
}
.theory-scroll {
  max-height: min(30vh, 220px);
}
.page--layout .theory-scroll {
  max-height: none;
  flex: 1;
  min-height: 0;
  overflow-x: hidden;
}
#theoryBody {
  max-width: 100%;
  overflow-x: hidden;
}
.theory-figure {
  margin: 0.5rem 0 1rem;
  padding: 0;
  max-width: 100%;
}
.theory-body-img,
#theoryBody .theory-body-img {
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
  vertical-align: top;
}
.calc-form-scroll {
  max-height: min(36vh, 300px);
}
.page--layout .calc-form-scroll {
  max-height: none;
  flex: 0 1 auto;
  min-height: 0;
}
.nav-row--sticky {
  flex-shrink: 0;
  margin-top: 0.75rem;
  padding-top: 0.85rem;
  border-top: 1px dashed var(--border-strong);
}
.io-actions--bar {
  flex-shrink: 0;
  margin-top: 0.45rem;
  padding-top: 0.5rem;
}

.io-section--planc .io-actions--bar,
.io-section--planb .io-actions--bar {
  margin-top: 0.35rem;
  padding-top: 0.4rem;
}
.io-actions--report-only {
  display: block;
}
.report-deadline-hint {
  margin: 0 0 0.55rem;
  padding: 0.5rem 0.7rem;
  font-size: 0.74rem;
  line-height: 1.45;
  color: var(--ink-muted);
  text-align: center;
  background: var(--accent-soft);
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-md);
}
.io-actions--report-only .btn-report-main {
  width: 100%;
  box-sizing: border-box;
  min-height: 2.85rem;
  font-weight: 600;
  letter-spacing: 0.04em;
}
.io-actions--report-only .btn-report-main.is-report-ready {
  background: linear-gradient(180deg, #16a34a 0%, #15803d 55%, #166534 100%);
  border-color: rgba(22, 101, 52, 0.9);
  color: #fff;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.12);
  white-space: pre-line;
  line-height: 1.42;
  padding: 0.7rem 1rem;
  min-height: 4rem;
  font-size: 0.9rem;
}
.io-actions--report-only .btn-report-main.is-report-ready:hover {
  filter: brightness(1.05);
}
.io-actions--report-only .btn-report-main:disabled {
  opacity: 0.72;
}
.block-title {
  font-size: 1rem;
  font-weight: 700;
  color: var(--ink);
  margin: 0 0 1rem;
  padding: 0 0 0.65rem;
  border-left: none;
  border-bottom: 1px solid var(--border-strong);
  letter-spacing: 0.04em;
}
.block-title--split {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem 0.6rem;
  padding-bottom: 0.85rem;
}
.block-title-main {
  color: var(--ink);
  font-weight: 700;
}
.block-title-note {
  font-size: 0.72rem;
  font-weight: 500;
  color: var(--ink-muted);
  letter-spacing: 0.02em;
}
.block > .block-title:not(.block-title--split) {
  color: var(--accent);
  border-bottom-color: rgba(180, 83, 9, 0.22);
}
.nav-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1.25rem;
}
.nav-row.nav-row--sticky {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  width: 100%;
  max-width: 100%;
  flex-wrap: nowrap;
  margin-top: 0.75rem;
  justify-content: stretch;
  align-items: stretch;
}
.nav-row.nav-row--sticky .btn {
  width: 100%;
  min-height: 3rem;
  padding: 0.65rem 0.55rem;
  font-size: 0.8125rem;
  line-height: 1.3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  box-sizing: border-box;
}
.io-section--size.block {
  padding: 0.72rem 0.95rem 0.78rem;
}
.io-section--size .theory-feature-name {
  margin-bottom: 0.28rem;
  font-size: 0.95rem;
}
.io-section--size .theory-title-row {
  margin-bottom: 0.35rem;
  padding-bottom: 0.4rem;
}
.io-section--size .theory-section-title--row {
  font-size: 0.88rem;
}
.io-section--size .io-hint-bubble {
  margin: -0.28rem 0 0.42rem;
  font-size: 0.72rem;
  padding: 0.45rem 0.55rem;
}
.io-section--size .io-hint-trigger {
  width: 1.32rem;
  height: 1.32rem;
  min-width: 1.32rem;
  font-size: 0.74rem;
}
.io-section--size .io-actions--bar {
  margin-top: 0.4rem;
  padding-top: 0.5rem;
}
.io-section--size .io-corner-nav {
  top: 0.62rem;
  left: 0.58rem;
  right: 0.58rem;
}
.io-section--size .io-corner-nav__tile {
  width: 2.92rem;
  height: 2.92rem;
  min-width: 2.92rem;
  min-height: 2.92rem;
  max-width: 2.92rem;
  max-height: 2.92rem;
  font-size: 0.64rem;
  padding: 0.18rem 0.12rem;
  border-radius: 7px;
}
.io-section--size .theory-feature-name,
.io-section--size .theory-title-row {
  padding-left: clamp(2.95rem, 4.2vw + 2.15rem, 6.1rem);
  padding-right: clamp(2.95rem, 4.2vw + 2.15rem, 6.1rem);
}
.btn {
  font-family: inherit;
  font-size: 0.875rem;
  padding: 0.55rem 1rem;
  border-radius: 8px;
  border: 1px solid transparent;
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
  text-align: center;
  transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease, background 0.18s ease, border-color 0.18s ease;
}
.btn:active {
  transform: scale(0.97);
}
.btn-primary {
  background: linear-gradient(180deg, #c2410c 0%, var(--accent) 100%);
  color: #fff;
  border-color: rgba(0, 0, 0, 0.12);
  box-shadow: 0 2px 8px rgba(180, 83, 9, 0.25);
}
.btn-primary:hover {
  filter: brightness(1.06);
  box-shadow: 0 4px 14px rgba(180, 83, 9, 0.3);
  transform: translateY(-1px);
}
.btn-secondary {
  background: rgba(255, 255, 255, 0.85);
  color: var(--ink);
  border-color: var(--border-strong);
}
.btn-secondary:hover {
  background: #fff;
  border-color: rgba(180, 83, 9, 0.35);
  transform: translateY(-1px);
}
.pick-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.pick-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.05rem 1.15rem 1.05rem 1.2rem;
  border-radius: 14px;
  border: 1px solid var(--border-strong);
  background: linear-gradient(120deg, #fff 0%, #faf8f5 100%);
  color: inherit;
  text-decoration: none;
  box-shadow: 0 2px 16px rgba(28, 22, 18, 0.05);
  transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.28s ease, border-color 0.2s ease;
  position: relative;
  overflow: hidden;
}
.pick-card--enter {
  animation: cardEnter 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
}
.pick-scroll .pick-card--enter:nth-child(1) { animation-delay: 0.06s; }
.pick-scroll .pick-card--enter:nth-child(2) { animation-delay: 0.12s; }
.pick-scroll .pick-card--enter:nth-child(3) { animation-delay: 0.18s; }
.pick-scroll .pick-card--enter:nth-child(4) { animation-delay: 0.24s; }
.pick-scroll .pick-card--enter:nth-child(5) { animation-delay: 0.3s; }
.pick-scroll .pick-card--enter:nth-child(6) { animation-delay: 0.36s; }
.pick-scroll .pick-card--enter:nth-child(7) { animation-delay: 0.42s; }
.pick-scroll .pick-card--enter:nth-child(8) { animation-delay: 0.48s; }
.pick-scroll .pick-card--enter:nth-child(9) { animation-delay: 0.54s; }
.pick-scroll .pick-card--enter:nth-child(10) { animation-delay: 0.6s; }
.pick-scroll .pick-card--enter:nth-child(11) { animation-delay: 0.66s; }
.pick-scroll .pick-card--enter:nth-child(12) { animation-delay: 0.72s; }
.pick-scroll .pick-card--enter:nth-child(13) { animation-delay: 0.78s; }
@keyframes cardEnter {
  from {
    opacity: 0;
    transform: translateX(-12px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateX(0) scale(1);
  }
}
.pick-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: linear-gradient(180deg, var(--accent), #ea580c);
  opacity: 0;
  transition: opacity 0.2s ease;
}
.pick-card:hover {
  border-color: rgba(180, 83, 9, 0.35);
  box-shadow: 0 10px 36px rgba(28, 22, 18, 0.1);
  transform: translateY(-2px);
}
.pick-card:hover::before {
  opacity: 1;
}
.pick-card:active {
  transform: translateY(0);
}
.pick-card--dual {
  flex-direction: column;
  align-items: stretch;
  gap: 0.65rem;
  cursor: default;
}
.pick-card--dual:hover {
  transform: translateY(-2px);
}
.pick-card--dual:active {
  transform: translateY(-1px);
}
.pick-card--dual .pick-card-inner {
  width: 100%;
}
.pick-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  width: 100%;
}
.pick-card-action {
  flex: 1 1 calc(50% - 0.23rem);
  min-width: 6.5rem;
  box-sizing: border-box;
  padding: 0.52rem 0.6rem !important;
  font-size: 0.86rem !important;
  font-weight: 600;
  letter-spacing: 0.04em;
}
@media (max-width: 380px) {
  .pick-card-action {
    flex: 1 1 100%;
    min-width: 100%;
  }
}
.pick-card-inner {
  flex: 1;
  min-width: 0;
}
/* 首页功能块 — 「新」角标（评价与建议等） */
.home-tile-badge {
  position: absolute;
  top: 0.42rem;
  right: 0.48rem;
  z-index: 2;
  min-width: 1.35rem;
  padding: 0.12rem 0.38rem;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0.04em;
  color: #fff;
  background: linear-gradient(165deg, #ff5c4d 0%, #e02020 55%, #c81010 100%);
  border: 1px solid rgba(255, 255, 255, 0.55);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.35) inset,
    0 2px 8px rgba(200, 16, 16, 0.45);
  pointer-events: none;
  user-select: none;
}
.home-tile-badge--blink {
  animation: homeTileBadgeBlink 1.15s ease-in-out infinite;
}
@keyframes homeTileBadgeBlink {
  0%,
  100% {
    opacity: 1;
    transform: scale(1);
    box-shadow:
      0 1px 0 rgba(255, 255, 255, 0.35) inset,
      0 2px 8px rgba(200, 16, 16, 0.45);
  }
  50% {
    opacity: 0.72;
    transform: scale(1.06);
    box-shadow:
      0 1px 0 rgba(255, 255, 255, 0.35) inset,
      0 4px 14px rgba(200, 16, 16, 0.62);
  }
}
.pick-card--has-badge .pick-card-inner {
  padding-right: 0.35rem;
}
.pick-card strong {
  display: block;
  color: var(--accent);
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 0.35rem;
  letter-spacing: 0.03em;
}
.pick-desc {
  display: block;
  font-size: 0.8rem;
  color: var(--ink-muted);
  line-height: 1.45;
}
.pick-arrow {
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: var(--accent-soft);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s ease, transform 0.2s ease;
}
.pick-arrow::after {
  content: "";
  width: 0.35rem;
  height: 0.35rem;
  border-right: 2px solid var(--accent);
  border-top: 2px solid var(--accent);
  transform: rotate(45deg);
  margin-left: -2px;
}
.pick-card:hover .pick-arrow {
  background: rgba(180, 83, 9, 0.22);
  transform: translateX(2px);
}

/* 首页：压缩纵向间距（桌面与手机共用基准，手机再收紧） */
.page--home.page--layout {
  padding-top: 0.4rem;
  padding-bottom: 0.4rem;
}
.page--home .page-head {
  margin-bottom: 0.4rem;
  overflow: visible;
}
.page--home .page-head--hero {
  margin-bottom: 0.4rem;
  padding-top: 0.06rem;
}
.page--home .page-head--shrink {
  margin-bottom: 0.32rem;
  padding-top: 0;
}
.page--home .brand-title {
  font-size: 1.3rem;
}

/* 首页工具栏：左「更新日志」、右「返回注册与登录」（含窄屏） */
.home-pick-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem 0.65rem;
  margin: 0 0 0.52rem;
  padding-bottom: 0.44rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  box-sizing: border-box;
}
.page--home > .block.block--elevated:has(.pick-remote) {
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.9) inset,
    0 4px 14px rgba(28, 22, 18, 0.05),
    0 10px 28px rgba(28, 22, 18, 0.06);
}

.home-pick-head__account {
  flex-shrink: 0;
  margin: 0 0 0 auto;
  min-width: 0;
  max-width: 100%;
  padding: 0.44rem 0.82rem;
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0.03em;
  white-space: nowrap;
  border-radius: 10px;
  color: #fff;
  background: linear-gradient(180deg, var(--home-green, #3d6b38) 0%, var(--home-green-deep, #2d5a48) 100%);
  border: 1px solid rgba(45, 90, 72, 0.35);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.18) inset,
    0 2px 8px rgba(45, 90, 72, 0.2);
}

.home-pick-head__changelog {
  margin: 0;
  padding: 0.4rem 0.66rem;
  font-size: 0.74rem;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0.02em;
  white-space: nowrap;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.72);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(0, 0, 0, 0.06);
  color: #57534e;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.9) inset,
    0 1px 3px rgba(28, 22, 18, 0.04);
}

.home-pick-head__changelog:hover {
  background: rgba(255, 255, 255, 0.92);
  border-color: rgba(0, 0, 0, 0.1);
  color: var(--home-ink, #1a1a1a);
}

.home-pick-head__account:hover {
  filter: brightness(1.06);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.22) inset,
    0 4px 14px rgba(45, 90, 72, 0.26);
  transform: translateY(-1px);
}

.home-pick-head__account:focus-visible {
  outline: 2px solid rgba(61, 107, 56, 0.45);
  outline-offset: 2px;
}

.page--home > .block {
  padding: 0.7rem 0.95rem 0.78rem;
}
.page--home .block-title.block-title--split {
  margin: 0 0 0.48rem;
  padding-bottom: 0.4rem;
  gap: 0.2rem 0.45rem;
}
.page--home .block-title-note {
  font-size: 0.68rem;
  line-height: 1.35;
}
.page--home .pick-scroll {
  padding-top: 0;
  padding-bottom: 0.04rem;
  overflow-y: auto;
}
.page--home .pick-desc {
  display: none !important;
}

/* 首页 — 遥控器式功能选择 */
.pick-remote {
  display: flex;
  flex-direction: column;
  max-width: 36rem;
  margin: 0 auto;
  padding: 0;
}
.pick-remote__module {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin-top: 0.83rem;
  padding: 0.63rem 0.72rem 0.56rem;
  border-radius: 22px;
  background: linear-gradient(168deg, #faf7f2 0%, #f3ede4 42%, #faf6f1 100%);
  border: 1px solid rgba(180, 155, 120, 0.18);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.92),
    inset 0 0 0 1px rgba(255, 255, 255, 0.38),
    0 2px 6px rgba(48, 38, 28, 0.06),
    0 12px 32px rgba(48, 38, 28, 0.09);
}
.pick-remote__row {
  display: grid;
  gap: 0.48rem;
  align-items: stretch;
}
.pick-remote__row--featured {
  grid-template-columns: repeat(3, 1fr);
  margin-bottom: 0.09rem;
  padding: 0.5rem 0.62rem 0.48rem;
  border-radius: 18px;
  background: linear-gradient(168deg, #f5f2ec 0%, #ebe6dc 48%, #f3efe8 100%);
  border: 1px solid rgba(160, 140, 110, 0.16);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.92),
    inset 0 0 0 1px rgba(255, 255, 255, 0.32),
    0 2px 5px rgba(48, 38, 28, 0.05),
    0 8px 22px rgba(48, 38, 28, 0.07);
}
.pick-remote__row--featured + .pick-remote__row--featured {
  margin-top: 0.36rem;
}
.pick-remote__row--top {
  grid-template-columns: repeat(3, 1fr);
  margin-top: 0.36rem;
}
.pick-remote__row--top + .pick-remote__row--top {
  margin-top: 0.33rem;
}
/* pick-remote：同色系分组，卡片靠渐变方向区分（非逐卡换色相） */
.page--home .pick-remote .pick-card--remote {
  --pick-title: #fff;
}
/* 精选 — 紫梅色族 #b088c8 → #9068a8 → #704888 */
.page--home .pick-remote .pick-card[data-pick="11"],
.page--home .pick-remote .pick-card[data-pick="12"],
.page--home .pick-remote .pick-card[data-pick="10"] {
  border-color: rgba(125, 75, 145, 0.38);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.35),
    inset 0 -1px 0 rgba(48, 28, 58, 0.14),
    0 2px 4px rgba(48, 28, 58, 0.22),
    0 3px 0 rgba(88, 48, 108, 0.18),
    0 8px 24px rgba(88, 48, 108, 0.14);
  --pick-accent: #704888;
  --pick-glow: rgba(220, 190, 240, 0.3);
}
.page--home .pick-remote .pick-card[data-pick="11"] {
  background: linear-gradient(168deg, #b088c8 0%, #9068a8 52%, #704888 100%);
}
.page--home .pick-remote .pick-card[data-pick="12"] {
  background: linear-gradient(90deg, #b088c8 0%, #9068a8 52%, #704888 100%);
}
.page--home .pick-remote .pick-card[data-pick="10"] {
  background: linear-gradient(135deg, #b088c8 0%, #9068a8 52%, #704888 100%);
}
/* 常用计算 — 绿青色系 #48b8a8 → #38a898 → #288888 */
.page--home .pick-remote .pick-card[data-pick="01"],
.page--home .pick-remote .pick-card[data-pick="04"],
.page--home .pick-remote .pick-card[data-pick="15"],
.page--home .pick-remote .pick-card[data-pick="02"] {
  border-color: rgba(38, 145, 130, 0.38);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.35),
    inset 0 -1px 0 rgba(18, 72, 62, 0.14),
    0 2px 4px rgba(18, 72, 62, 0.22),
    0 3px 0 rgba(22, 105, 90, 0.18),
    0 8px 24px rgba(22, 105, 90, 0.14);
  --pick-accent: #288888;
  --pick-glow: rgba(150, 235, 215, 0.28);
}
.page--home .pick-remote .pick-card[data-pick="01"] {
  background: linear-gradient(168deg, #48b8a8 0%, #38a898 52%, #288888 100%);
}
.page--home .pick-remote .pick-card[data-pick="04"] {
  background: linear-gradient(90deg, #48b8a8 0%, #38a898 52%, #288888 100%);
}
.page--home .pick-remote .pick-card[data-pick="15"] {
  background: linear-gradient(135deg, #48b8a8 0%, #38a898 52%, #288888 100%);
}
.page--home .pick-remote .pick-card[data-pick="02"] {
  background: linear-gradient(135deg, #48b8a8 0%, #38a898 52%, #288888 100%);
}
/* 国标工具 — 琥珀锈色系 #e8b868 → #c87840 → #a05828 */
.page--home .pick-remote .pick-card[data-pick="03"],
.page--home .pick-remote .pick-card[data-pick="13"],
.page--home .pick-remote .pick-card[data-pick="14"] {
  border-color: rgba(175, 115, 55, 0.4);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.35),
    inset 0 -1px 0 rgba(100, 58, 22, 0.14),
    0 2px 4px rgba(100, 58, 22, 0.22),
    0 3px 0 rgba(130, 82, 32, 0.18),
    0 8px 24px rgba(130, 82, 32, 0.14);
  --pick-accent: #a05828;
  --pick-glow: rgba(255, 220, 150, 0.3);
}
.page--home .pick-remote .pick-card[data-pick="03"] {
  background: linear-gradient(168deg, #e8b868 0%, #c87840 52%, #a05828 100%);
}
.page--home .pick-remote .pick-card[data-pick="13"] {
  background: linear-gradient(90deg, #e8b868 0%, #c87840 52%, #a05828 100%);
}
.page--home .pick-remote .pick-card[data-pick="14"] {
  background: linear-gradient(135deg, #e8b868 0%, #c87840 52%, #a05828 100%);
}
/* 原纸模块 — 四卡分色：青绿深浅 + 渐变方向 + 分卡光影 */
.page--home .pick-remote .pick-card[data-pick="07"] {
  border-color: rgba(52, 158, 168, 0.42);
  background: linear-gradient(180deg, #58c0c8 0%, #48b4bc 42%, #3898a0 100%);
  box-shadow:
    inset 0 2px 0 rgba(255, 255, 255, 0.5),
    inset 0 -1px 0 rgba(48, 130, 140, 0.08),
    0 2px 4px rgba(44, 130, 142, 0.2),
    0 3px 0 rgba(52, 148, 158, 0.15),
    0 8px 22px rgba(52, 148, 158, 0.11);
  --pick-accent: #3898a0;
  --pick-glow: rgba(186, 248, 255, 0.36);
}
.page--home .pick-remote .pick-card[data-pick="09"] {
  border-color: rgba(42, 132, 138, 0.4);
  background: linear-gradient(90deg, #58b8c0 0%, #48a8b0 48%, #308888 100%);
  box-shadow:
    inset 2px 0 0 rgba(255, 255, 255, 0.4),
    inset -4px 0 10px rgba(18, 72, 80, 0.24),
    inset 0 1px 0 rgba(255, 255, 255, 0.2),
    0 3px 6px rgba(28, 92, 100, 0.26),
    0 3px 0 rgba(38, 112, 118, 0.17),
    0 8px 24px rgba(28, 92, 100, 0.13);
  --pick-accent: #308888;
  --pick-glow: rgba(148, 228, 238, 0.3);
}
.page--home .pick-remote .pick-card[data-pick="05"] {
  border-color: rgba(36, 128, 118, 0.4);
  background: linear-gradient(270deg, #50b0a4 0%, #40a898 46%, #287070 100%);
  box-shadow:
    inset -2px 0 0 rgba(255, 255, 255, 0.38),
    inset 4px 0 10px rgba(16, 62, 58, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.18),
    0 3px 6px rgba(22, 82, 76, 0.26),
    0 3px 0 rgba(32, 100, 92, 0.18),
    0 8px 24px rgba(22, 82, 76, 0.14);
  --pick-accent: #287070;
  --pick-glow: rgba(130, 228, 210, 0.3);
}
.page--home .pick-remote .pick-card[data-pick="08"] {
  border-color: rgba(28, 108, 118, 0.44);
  background: linear-gradient(0deg, #488898 0%, #388898 44%, #206868 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.28),
    inset 0 -3px 0 rgba(12, 48, 58, 0.32),
    inset 0 -6px 12px rgba(8, 36, 46, 0.18),
    0 2px 5px rgba(16, 68, 78, 0.28),
    0 4px 0 rgba(24, 88, 98, 0.22),
    0 10px 26px rgba(16, 68, 78, 0.16);
  --pick-accent: #206868;
  --pick-glow: rgba(120, 200, 215, 0.24);
}
/* 原纸库 hub — 深酒红椭圆（与青绿四卡对比加强） */
.page--home .pick-remote .pick-card[data-pick="06"].pick-card--hub {
  border: none;
  background:
    radial-gradient(ellipse 72% 58% at 62% 78%, rgba(90, 28, 42, 0.46) 0%, transparent 68%),
    radial-gradient(ellipse 100% 92% at 38% 22%, rgba(255, 210, 218, 0.26) 0%, transparent 48%),
    radial-gradient(
      ellipse 92% 88% at 34% 28%,
      #c87888 0%,
      #9a3848 38%,
      #8a3040 72%,
      #7a2838 100%
    );
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.38),
    inset 0 -2px 4px rgba(60, 20, 32, 0.26),
    0 0 0 2px rgba(255, 205, 215, 0.22),
    0 2px 8px rgba(90, 28, 42, 0.34),
    0 10px 28px rgba(120, 40, 56, 0.34),
    0 0 22px rgba(220, 160, 175, 0.26);
  --pick-accent: #9a3848;
  --pick-title: #fff;
  --pick-glow: rgba(235, 175, 190, 0.38);
  --pick-mark-bg: linear-gradient(145deg, #fff 0%, #f0d0d8 100%);
}
.pick-remote__block {
  display: grid;
  grid-template-rows: auto auto auto;
  gap: 0.44rem;
}
.pick-remote__mid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(6.4rem, 32%) minmax(0, 1fr);
  gap: 0.44rem;
  align-items: stretch;
}
.pick-remote__block .pick-card--bar {
  min-height: 2.15rem;
  padding: 0.32rem 0.62rem 0.28rem;
  border-radius: 14px;
}
.pick-remote__block .pick-card--bar-top[data-pick="07"]::after {
  background: radial-gradient(ellipse 96% 78% at 50% 0%, rgba(210, 252, 255, 0.44) 0%, transparent 62%);
  opacity: 0.88;
}
.pick-remote__block .pick-card--bar-bottom[data-pick="08"]::after {
  background: radial-gradient(ellipse 92% 72% at 50% 100%, rgba(100, 185, 200, 0.2) 0%, transparent 65%);
  opacity: 0.62;
}
.pick-remote__block .pick-card--side {
  min-height: 3.35rem;
  padding: 0.32rem 0.42rem 0.28rem;
  border-radius: 14px;
}
.pick-remote__block .pick-card--side-left[data-pick="09"]::after {
  background: radial-gradient(ellipse 58% 88% at 0% 42%, rgba(198, 250, 255, 0.4) 0%, transparent 72%);
  opacity: 0.82;
}
.pick-remote__block .pick-card--side-right[data-pick="05"]::after {
  background: radial-gradient(ellipse 58% 88% at 100% 42%, rgba(155, 238, 218, 0.38) 0%, transparent 72%);
  opacity: 0.8;
}
.pick-remote__block .pick-card--bar strong,
.pick-remote__block .pick-card--hub strong,
.pick-remote__block .pick-card--side strong {
  color: var(--pick-title);
  text-shadow: 0 1px 2px rgba(48, 60, 80, 0.22);
}
.pick-remote__block .pick-card--bar strong {
  font-size: clamp(0.76rem, 0.72rem + 0.28vw, 0.8rem);
  line-height: 1.34;
  letter-spacing: 0.015em;
  font-weight: 700;
}
.pick-remote__block .pick-card--side strong {
  font-size: clamp(0.72rem, 0.68rem + 0.28vw, 0.76rem);
  line-height: 1.32;
  font-weight: 700;
}
.page--home .pick-remote__module .pick-card--hub.pick-card--enter {
  animation-name: cardEnterHub;
}
@keyframes cardEnterHub {
  from {
    opacity: 0;
    transform: translateY(6px) scale(0.97);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
.page--home .pick-remote .pick-card--remote {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 0.18rem;
  min-height: 2.95rem;
  padding: 0.32rem 0.44rem 0.3rem;
  border-radius: 18px;
  border: 1px solid rgba(72, 130, 200, 0.32);
  background: linear-gradient(168deg, #68b0ec 0%, #58a0e4 52%, #4894dc 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.35),
    inset 0 -1px 0 rgba(32, 72, 120, 0.12),
    0 2px 4px rgba(32, 72, 120, 0.18),
    0 3px 0 rgba(48, 100, 160, 0.16),
    0 8px 24px rgba(48, 100, 160, 0.12);
  --pick-title: #fff;
  transition:
    transform 0.2s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.22s ease,
    border-color 0.2s ease,
    filter 0.2s ease;
}
.page--home .pick-remote .pick-card--remote::before {
  display: none;
}
.page--home .pick-remote .pick-card--remote::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(ellipse 80% 55% at 50% 8%, var(--pick-glow, rgba(120, 158, 198, 0.2)) 0%, transparent 72%);
  opacity: 0.75;
  pointer-events: none;
  transition: opacity 0.22s ease;
}
.page--home .pick-remote .pick-card--remote:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--pick-accent) 55%, transparent);
  filter: brightness(1.08);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.44),
    inset 0 -1px 0 rgba(0, 0, 0, 0.08),
    0 2px 6px color-mix(in srgb, var(--pick-accent) 28%, transparent),
    0 4px 0 color-mix(in srgb, var(--pick-accent) 32%, transparent),
    0 14px 32px color-mix(in srgb, var(--pick-accent) 30%, transparent),
    0 0 18px var(--pick-glow, rgba(120, 158, 198, 0.22));
}
.page--home .pick-remote__block .pick-card--side:hover {
  filter: brightness(1.08);
  transform: translateY(-2px);
}
.page--home .pick-remote .pick-card--remote:hover::after {
  opacity: 1;
}
.page--home .pick-remote .pick-card--remote:active {
  transform: translateY(1px);
  filter: brightness(0.97);
  box-shadow:
    inset 0 2px 6px rgba(0, 0, 0, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    0 2px 8px color-mix(in srgb, var(--pick-accent) 20%, transparent);
}
.page--home .pick-remote .pick-card--hub {
  position: relative;
  z-index: 1;
  align-self: center;
  justify-self: center;
  width: 100%;
  max-width: 8.8rem;
  aspect-ratio: 2.15 / 1;
  min-height: unset;
  height: auto;
  padding: 0.34rem 0.72rem;
  overflow: hidden;
  border-radius: 50% / 50%;
  border: none;
  background: radial-gradient(
    ellipse 92% 88% at 34% 28%,
    #c87888 0%,
    #9a3848 38%,
    #8a3040 72%,
    #7a2838 100%
  );
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.35),
    inset 0 -2px 4px rgba(60, 20, 32, 0.22),
    0 0 0 1px rgba(255, 200, 210, 0.14),
    0 2px 6px rgba(90, 28, 42, 0.28),
    0 8px 24px rgba(120, 40, 56, 0.3),
    0 0 16px rgba(220, 160, 175, 0.18);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translateZ(0);
  --pick-accent: #9a3848;
  --pick-title: #fff;
  --pick-glow: rgba(220, 160, 175, 0.34);
  --pick-mark-bg: linear-gradient(145deg, #fff 0%, #f0d0d8 100%);
}
.page--home .pick-remote .pick-card--hub::after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(ellipse 88% 72% at 50% 16%, var(--pick-glow) 0%, transparent 68%);
  opacity: 0.82;
  pointer-events: none;
  transition: opacity 0.22s ease;
}
.page--home .pick-remote .pick-card--hub:hover {
  background: radial-gradient(
    ellipse 92% 88% at 34% 26%,
    #d08898 0%,
    #a84858 40%,
    #9a3848 100%
  );
  filter: brightness(1.06);
  transform: translateY(-2px) translateZ(0);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.42),
    inset 0 -1px 0 rgba(60, 20, 32, 0.12),
    0 0 0 1px rgba(255, 210, 218, 0.22),
    0 2px 8px rgba(90, 28, 42, 0.32),
    0 14px 34px rgba(120, 40, 56, 0.38),
    0 0 22px var(--pick-glow);
}
.page--home .pick-remote .pick-card--hub:hover::after {
  opacity: 1;
}
.page--home .pick-remote .pick-card--hub strong {
  position: relative;
  z-index: 1;
  color: #fff;
  font-size: clamp(0.82rem, 0.76rem + 0.35vw, 0.88rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-shadow:
    0 1px 2px rgba(80, 25, 35, 0.35),
    0 0 1px rgba(0, 0, 0, 0.15);
}
.page--home .pick-remote .pick-card--hub:active {
  transform: translateY(1px) translateZ(0);
  filter: brightness(0.97);
  box-shadow:
    inset 0 2px 8px rgba(50, 15, 25, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.2),
    0 0 0 1px rgba(255, 190, 200, 0.1),
    0 4px 14px rgba(120, 40, 56, 0.26);
}
.page--home .pick-remote__block .pick-card--bar:hover strong,
.page--home .pick-remote__block .pick-card--hub:hover strong {
  color: #fff;
}
.page--home .pick-remote .pick-card-inner {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 0;
}
.page--home .pick-remote .pick-card strong {
  margin: 0;
  font-size: clamp(0.8rem, 0.76rem + 0.35vw, 0.84rem);
  line-height: 1.3;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--pick-title);
  text-shadow: 0 1px 2px rgba(48, 60, 80, 0.22);
  transition: color 0.2s ease;
}
.page--home .pick-remote__row--featured .pick-card strong,
.page--home .pick-remote__row--top .pick-card strong {
  font-size: clamp(0.78rem, 0.74rem + 0.35vw, 0.82rem);
  line-height: 1.32;
}
.page--home .pick-remote .pick-card--has-badge {
  position: relative;
}
.pick-scroll .pick-remote .pick-card--enter[data-pick="11"] { animation-delay: 0.05s; }
.pick-scroll .pick-remote .pick-card--enter[data-pick="12"] { animation-delay: 0.09s; }
.pick-scroll .pick-remote .pick-card--enter[data-pick="10"] { animation-delay: 0.13s; }
.pick-scroll .pick-remote .pick-card--enter[data-pick="01"] { animation-delay: 0.17s; }
.pick-scroll .pick-remote .pick-card--enter[data-pick="04"] { animation-delay: 0.21s; }
.pick-scroll .pick-remote .pick-card--enter[data-pick="02"] { animation-delay: 0.25s; }
.pick-scroll .pick-remote .pick-card--enter[data-pick="03"] { animation-delay: 0.29s; }
.pick-scroll .pick-remote .pick-card--enter[data-pick="13"] { animation-delay: 0.31s; }
.pick-scroll .pick-remote .pick-card--enter[data-pick="14"] { animation-delay: 0.32s; }
.pick-scroll .pick-remote .pick-card--enter[data-pick="15"] { animation-delay: 0.325s; }
.pick-scroll .pick-remote .pick-card--enter[data-pick="07"] { animation-delay: 0.33s; }
.pick-scroll .pick-remote .pick-card--enter[data-pick="09"] { animation-delay: 0.37s; }
.pick-scroll .pick-remote .pick-card--enter[data-pick="06"] { animation-delay: 0.41s; }
.pick-scroll .pick-remote .pick-card--enter[data-pick="05"] { animation-delay: 0.45s; }
.pick-scroll .pick-remote .pick-card--enter[data-pick="08"] { animation-delay: 0.49s; }
@keyframes cardEnterRemote {
  from {
    opacity: 0;
    transform: translateY(8px) scale(0.96);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
.page--home .pick-remote .pick-card--enter {
  animation-name: cardEnterRemote;
}
.page--home .pick-remote .pick-card--hub.pick-card--enter {
  animation-name: cardEnterHub;
}
.page--home .pick-arrow {
  display: none;
}
.page--home > .block.block--elevated {
  border: 1px solid rgba(255, 255, 255, 0.65);
  background: rgba(255, 253, 250, 0.52);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.88) inset,
    0 8px 32px rgba(28, 22, 18, 0.06);
}
.page--home .pick-card--dual {
  gap: 0.4rem;
}
.page--home .pick-card-actions {
  gap: 0.32rem;
}
.page--home .pick-card-action {
  padding: 0.42rem 0.48rem !important;
  font-size: 0.8rem !important;
}
.page--home .home-pick-head {
  flex-shrink: 0;
  margin-bottom: 0.28rem;
  padding-bottom: 0.26rem;
}
.page--home .page-head--shrink {
  margin-bottom: 0.22rem;
}
.page--home .brand-logo {
  height: clamp(1.45rem, 4.2vh, 1.78rem);
  max-width: min(90vw, 13rem);
}
.page--home > .block {
  padding: 0.48rem 0.78rem 0.52rem;
}
@media (max-width: 640px) {
  .page--home.page--layout {
    padding-top: 0.32rem;
    padding-bottom: 0.32rem;
  }
  .page--home .page-head {
    margin-bottom: 0.32rem;
  }
  .page--home .brand-title {
    font-size: 1.18rem;
    letter-spacing: 0.1em;
  }
  .page--home .brand-row {
    gap: 0.42rem;
  }
  .page--home .brand-row .brand-line {
    width: 48px;
  }
  .page--home > .block {
    padding: 0.52rem 0.72rem 0.58rem;
  }
  .home-pick-head {
    margin-bottom: 0.38rem;
    padding-bottom: 0.32rem;
    gap: 0.42rem 0.5rem;
  }
  .home-pick-head__account {
    margin-top: 0;
    padding: 0.4rem 0.62rem;
    font-size: 0.72rem;
    letter-spacing: 0.02em;
  }
  .home-pick-head__changelog {
    padding: 0.36rem 0.52rem;
    font-size: 0.68rem;
  }
  .page--home .block-title.block-title--split {
    margin-bottom: 0.38rem;
    padding-bottom: 0.32rem;
  }
  .page--home .block-title-note {
    font-size: 0.64rem;
  }
  .pick-remote {
    padding: 0;
  }
  .pick-remote__module {
    margin-top: 0.7rem;
    padding: 0.45rem 0.52rem 0.42rem;
    border-radius: 18px;
  }
  .pick-remote__row--featured {
    gap: 0.38rem;
    padding: 0.42rem 0.48rem 0.4rem;
    border-radius: 16px;
    margin-bottom: 0.07rem;
  }
  .pick-remote__row--featured + .pick-remote__row--featured {
    margin-top: 0.31rem;
  }
  .pick-remote__row--top {
    grid-template-columns: repeat(3, 1fr);
    gap: 0.38rem;
    margin-top: 0.31rem;
  }
  .pick-remote__row--top + .pick-remote__row--top {
    margin-top: 0.28rem;
  }
  .pick-remote__block {
    gap: 0.36rem;
  }
  .pick-remote__mid {
    grid-template-columns: minmax(0, 0.85fr) auto minmax(0, 0.85fr);
    gap: 0.36rem;
    align-items: center;
  }
  .pick-remote__block .pick-card--bar {
    min-height: 2.05rem;
    padding: 0.3rem 0.52rem 0.26rem;
  }
  .pick-remote__block .pick-card--bar strong {
    font-size: clamp(0.74rem, 2.4vw, 0.8rem);
    line-height: 1.3;
  }
  .pick-remote__block .pick-card--side {
    min-height: 2.85rem;
    padding: 0.28rem 0.22rem 0.26rem;
    max-width: 4.5rem;
    width: 100%;
    justify-self: center;
  }
  .pick-remote__block .pick-card--side strong {
    font-size: clamp(0.58rem, 2vw, 0.72rem);
    line-height: 1.25;
  }
  .page--home .pick-remote .pick-card--remote {
    min-height: 2.65rem;
    padding: 0.3rem 0.38rem 0.28rem;
    border-radius: 14px;
  }
  .page--home .pick-remote .pick-card strong {
    font-size: clamp(0.78rem, 2.6vw, 0.84rem);
    line-height: 1.3;
  }
  .page--home .pick-remote__row--featured .pick-card strong,
  .page--home .pick-remote__row--top .pick-card strong {
    font-size: clamp(0.76rem, 2.5vw, 0.82rem);
    line-height: 1.32;
  }
  .page--home .pick-remote .pick-card--hub {
    width: min(8rem, 36vw);
    min-width: min(8rem, 36vw);
    max-width: min(8rem, 36vw);
    min-height: unset;
    aspect-ratio: 2.15 / 1;
    border-radius: 50% / 50%;
    padding: 0.3rem 0.58rem;
  }
  .page--home .pick-remote .pick-card--hub strong {
    font-size: clamp(0.72rem, 3.2vw, 0.82rem);
    letter-spacing: 0.04em;
  }
  .page--home .pick-arrow {
    display: none;
  }
  .page--home .home-pick-head {
    margin-bottom: 0.22rem;
    padding-bottom: 0.2rem;
  }
  .page--home > .block {
    padding: 0.4rem 0.62rem 0.44rem;
  }
  .page--home .pick-card-action {
    padding: 0.38rem 0.42rem !important;
    font-size: 0.78rem !important;
  }
}
@media (min-width: 420px) and (max-width: 640px) {
  .pick-remote__row--featured .pick-card--remote,
  .pick-remote__row--top .pick-card--remote {
    min-height: 2.65rem;
  }
  .page--home .pick-remote__row--featured .pick-card--remote strong,
  .page--home .pick-remote__row--top .pick-card--remote strong {
    font-size: clamp(0.76rem, 2.2vw, 0.82rem);
  }
}
/* 首页 — 更新日志弹层 */
body.update-log-open {
  overflow: hidden;
}
.update-log-overlay {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 1.15rem;
  box-sizing: border-box;
  background: rgba(28, 22, 18, 0.42);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  animation: updateLogFadeIn 0.22s ease both;
}
.update-log-overlay[hidden] {
  display: none !important;
}
@keyframes updateLogFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
.update-log-panel {
  /* 对齐 .page--home > .block 外缘：壳 max-width 减去左右 page padding */
  width: min(100%, calc(var(--home-shell-max) - 2 * var(--home-page-pad-x)));
  max-height: min(84vh, 680px);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(255, 255, 255, 0.75);
  background: linear-gradient(165deg, #fffcfa 0%, #faf6f0 100%);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.9) inset,
    0 16px 48px rgba(28, 22, 18, 0.18);
  overflow: hidden;
  animation: updateLogPanelIn 0.28s cubic-bezier(0.22, 1, 0.36, 1) both;
}
@keyframes updateLogPanelIn {
  from {
    opacity: 0;
    transform: translateY(12px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
.update-log-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.85rem 1rem 0.72rem;
  border-bottom: 1px solid var(--border-strong);
  flex-shrink: 0;
}
.update-log-head__title {
  margin: 0;
  font-size: 1.02rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  background: linear-gradient(120deg, #78350f 0%, #b45309 55%, #ea580c 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.update-log-close {
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  margin: 0;
  padding: 0;
  border: 1px solid var(--border-strong);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.85);
  color: var(--ink-muted);
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
  transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}
.update-log-close:hover {
  background: #fff;
  border-color: rgba(180, 83, 9, 0.35);
  color: var(--accent);
}
.update-log-body {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  padding: 0.65rem 0.85rem 0.85rem;
}
.update-log-empty {
  margin: 1.5rem 0;
  text-align: center;
  font-size: 0.88rem;
  color: var(--ink-muted);
}
.update-log-list {
  flex: 1;
  min-height: 0;
  max-height: min(62vh, 520px);
  display: flex;
  flex-direction: column;
  gap: 0.38rem;
  padding-right: 0.15rem;
}
.update-log-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.55rem 0.65rem;
  width: 100%;
  margin: 0;
  padding: 0.62rem 0.72rem;
  border: 1px solid rgba(28, 22, 18, 0.08);
  border-radius: 12px;
  background: linear-gradient(118deg, #fff 0%, #fcfaf7 48%, #fff 100%);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset, 0 2px 12px rgba(28, 22, 18, 0.04);
  font-family: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}
.update-log-item:hover {
  border-color: rgba(180, 83, 9, 0.28);
  box-shadow: 0 4px 16px rgba(180, 83, 9, 0.1);
  transform: translateY(-1px);
}
.update-log-item__date {
  font-size: 0.72rem;
  font-weight: 600;
  color: #9a3412;
  white-space: nowrap;
}
.update-log-item__title {
  font-size: 0.86rem;
  font-weight: 600;
  color: var(--ink);
  line-height: 1.35;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.update-log-item__arrow {
  font-size: 1.1rem;
  color: var(--accent);
  line-height: 1;
}
.update-log-detail {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}
.update-log-detail[hidden] {
  display: none !important;
}
.update-log-back {
  align-self: flex-start;
  padding: 0.38rem 0.72rem;
  font-size: 0.78rem;
}
.update-log-detail__date {
  margin: 0;
  font-size: 0.76rem;
  font-weight: 600;
  color: #9a3412;
  letter-spacing: 0.02em;
}
.update-log-detail__title {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
  color: var(--ink);
}
.update-log-detail__body {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  font-size: 0.86rem;
  line-height: 1.6;
  color: var(--ink-muted);
  padding-right: 0.2rem;
}
.update-log-detail__body p {
  margin: 0 0 0.65rem;
}
.update-log-detail__body p:last-child {
  margin-bottom: 0;
}
.update-log-nav {
  display: flex;
  gap: 0.45rem;
  padding-top: 0.35rem;
  border-top: 1px solid var(--border);
  flex-shrink: 0;
}
.update-log-nav__btn {
  flex: 1;
  padding: 0.45rem 0.65rem;
  font-size: 0.8rem;
}
.update-log-nav__btn:disabled {
  opacity: 0.42;
  cursor: not-allowed;
  transform: none;
}
@media (max-width: 640px) {
  .update-log-overlay {
    padding: 0.65rem;
  }
  .update-log-panel {
    max-height: min(82vh, 520px);
  }
  .update-log-item {
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
    gap: 0.2rem 0.45rem;
  }
  .update-log-item__date {
    grid-column: 1;
    grid-row: 1;
  }
  .update-log-item__title {
    grid-column: 1 / -1;
    grid-row: 2;
    white-space: normal;
  }
  .update-log-item__arrow {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
  }
}

#theoryBody {
  font-size: 0.88rem;
  color: var(--ink-muted);
}
#theoryBody p { margin: 0 0 0.65rem; }
#theoryBody p:last-child { margin-bottom: 0; }
.theory-conv {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}
.theory-conv-block {
  padding: 0.55rem 0.65rem 0.6rem;
  border-radius: 11px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.75) 0%, rgba(252, 249, 244, 0.65) 100%);
  border: 1px solid rgba(28, 25, 23, 0.06);
  box-shadow: 0 1px 8px rgba(28, 22, 18, 0.04);
}
.theory-conv-block--enter {
  animation: theoryRowIn 0.48s cubic-bezier(0.22, 1, 0.36, 1) both;
}
.theory-conv-block--enter:nth-child(1) { animation-delay: 0.03s; }
.theory-conv-block--enter:nth-child(2) { animation-delay: 0.07s; }
.theory-conv-block--enter:nth-child(3) { animation-delay: 0.11s; }
.theory-conv-block--enter:nth-child(4) { animation-delay: 0.15s; }
.theory-conv-block--enter:nth-child(5) { animation-delay: 0.19s; }
.theory-conv-block--enter:nth-child(6) { animation-delay: 0.23s; }
@keyframes theoryRowIn {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.theory-conv-label {
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--accent);
  margin-bottom: 0.32rem;
  letter-spacing: 0.04em;
  line-height: 1.35;
}
.theory-conv-eq {
  font-size: 0.82rem;
  line-height: 1.7;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
  word-break: break-word;
}
.theory-conv-eq .eq-a {
  font-weight: 600;
  color: #2a2622;
  white-space: nowrap;
}
.theory-conv-eq .eq-op {
  color: var(--ink-muted);
  font-weight: 500;
  margin: 0 0.12em;
}
.theory-conv-eq .eq-num {
  font-weight: 700;
  font-family: ui-monospace, "Cascadia Mono", Consolas, monospace;
  font-size: 0.88em;
  color: #1c1917;
}
.theory-conv-eq .eq-unit {
  font-size: 0.92em;
  color: var(--ink-muted);
  font-weight: 500;
  margin-left: 0.15em;
}
.theory-conv-foot {
  margin: 0.35rem 0 0 !important;
  padding: 0.5rem 0.55rem;
  font-size: 0.72rem !important;
  line-height: 1.5 !important;
  color: var(--ink-muted) !important;
  background: rgba(180, 83, 9, 0.06);
  border-radius: 8px;
  border: 1px dashed rgba(180, 83, 9, 0.2);
}
.theory-mckee-lead {
  margin: 0 0 0.85rem;
  font-size: 0.84rem;
  line-height: 1.55;
  color: var(--ink-muted);
}
.theory-subtitle {
  margin: 1rem 0 0.45rem;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--accent);
  letter-spacing: 0.02em;
}
.theory-plan-a-ul {
  margin: 0 0 0.65rem 0;
  padding: 0.45rem 0.55rem 0.45rem 1.35rem;
  font-size: 0.8rem;
  line-height: 1.55;
  color: var(--ink);
  background: rgba(250, 248, 245, 0.85);
  border-radius: 8px;
  border: 1px solid rgba(28, 25, 23, 0.08);
  list-style-type: disc;
}
.theory-plan-a-ul li {
  margin-bottom: 0.4rem;
}
.theory-plan-a-ul li:last-child {
  margin-bottom: 0;
}
.theory-plan-a-p {
  margin: 0 0 0.45rem;
  font-size: 0.8rem;
  line-height: 1.55;
  color: var(--ink-muted);
}
.theory-mckee-eq {
  margin: 0.35rem 0 0.5rem;
}
.theory-table-wrap {
  margin: 0.5rem 0 0.75rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: var(--radius-md);
  border: 1px solid var(--border-strong);
  background: var(--card-solid);
}
.theory-data-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.72rem;
  line-height: 1.35;
}
.theory-data-table caption {
  caption-side: top;
  text-align: left;
  padding: 0.45rem 0.5rem;
  font-size: 0.7rem;
  color: var(--ink-muted);
  border-bottom: 1px solid var(--border);
}
.theory-data-table th,
.theory-data-table td {
  padding: 0.28rem 0.35rem;
  border: 1px solid var(--border);
  text-align: center;
  white-space: nowrap;
}
.theory-data-table thead th {
  background: rgba(180, 83, 9, 0.1);
  font-weight: 600;
  color: var(--ink);
}
.theory-data-table tbody th[scope="row"] {
  text-align: left;
  background: rgba(28, 25, 23, 0.04);
  white-space: normal;
  min-width: 4.5rem;
}
@media (max-width: 400px) {
  .theory-conv-eq { font-size: 0.78rem; }
  .theory-conv-eq .eq-a { white-space: normal; }
}
.mckee-dim-table-wrap {
  margin: 0.5rem 0 0.35rem;
  max-width: 100%;
  overflow-x: hidden;
}
.mckee-dim-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.72rem;
  line-height: 1.35;
  table-layout: fixed;
}
.mckee-dim-table th,
.mckee-dim-table td {
  border: 1px solid var(--border-strong);
  padding: 0.35rem 0.4rem;
  text-align: center;
  word-wrap: break-word;
}
.mckee-dim-table th {
  background: rgba(180, 83, 9, 0.08);
  font-weight: 600;
  color: var(--ink);
}
.mckee-okcell.is-yes {
  color: #15803d;
  font-weight: 600;
}
.mckee-okcell.is-no {
  color: #b91c1c;
  font-weight: 600;
}
.mckee-dim-warn {
  margin: 0 0 0.65rem;
  font-size: 0.72rem;
  color: #b45309;
  line-height: 1.45;
  min-height: 1.2em;
  white-space: pre-line;
}
.mckee-msg {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.5;
}
.mckee-msg--warn {
  color: #b91c1c;
}
.mckee-ref-note {
  margin: 0 0 0.65rem;
  padding: 0.55rem 0.65rem;
  border-radius: 8px;
  border: 1px solid #f59e0b;
  background: #fffbeb;
  font-size: 0.8rem;
  line-height: 1.5;
  color: #78350f;
}
.mckee-ref-note__title {
  margin: 0 0 0.35rem;
  font-size: 0.86rem;
}
.mckee-ref-note__lead {
  margin: 0 0 0.4rem;
}
.mckee-ref-note__list {
  margin: 0 0 0.4rem 1.1rem;
  padding: 0;
}
.mckee-ref-note__list li {
  margin: 0.15rem 0;
}
.mckee-ref-note__foot {
  margin: 0;
  font-size: 0.76rem;
  color: #92400e;
}
.mckee-cell-flag {
  font-size: 0.78em;
  color: #b45309;
  font-weight: 600;
}
.mckee-calc-bar {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: stretch;
  gap: 0.65rem;
  margin-top: 0.55rem;
}
#btnMckeeCalc,
#btnGb6543Calc,
#btnGb654364Calc,
#btnBox0201Calc {
  justify-self: start;
  align-self: center;
}
#calc-bct-ect .mckee-calc-bar--gb6543,
#calc-gb6543-6544 .mckee-calc-bar--gb6543 {
  margin-top: 0.65rem;
}
#calc-gb6543-6544 .gb6543-6544-section-title {
  margin: 0.75rem 0 0.35rem;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--ink);
}
#calc-gb6543-6544 .gb6543-6544-section-title:first-of-type {
  margin-top: 0;
}
#calc-gb6543-6544 {
  --gb6543-dim: 34, 197, 94;
  --gb6543-mass: 59, 130, 246;
  --gb6543-class: 245, 158, 11;
  --gb6543-wall: 20, 184, 166;
}
#calc-gb6543-6544 .gb6543-6544-inputs {
  display: flex;
  flex-direction: column;
  gap: 0.34rem;
  margin: 0;
}
#calc-gb6543-6544 .gb6543-row-unified {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 0;
  min-width: 0;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid rgba(28, 25, 23, 0.14);
  box-sizing: border-box;
}
#calc-gb6543-6544 .gb6543-vlabel {
  flex: 0 0 2.25rem;
  width: 2.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0.2rem 0.12rem;
  box-sizing: border-box;
  border: none;
  border-radius: 0;
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: 0.08em;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  white-space: nowrap;
  user-select: none;
}
#calc-gb6543-6544 .gb6543-vlabel--sect {
  flex: 0 0 2rem;
  width: 2rem;
  font-size: 0.62rem;
  letter-spacing: 0.06em;
  align-self: stretch;
}
#calc-gb6543-6544 .gb6543-hlabel-stacked {
  writing-mode: horizontal-tb;
  text-orientation: mixed;
  flex-direction: column;
  gap: 0.04rem;
  letter-spacing: 0.02em;
  line-height: 1.1;
  white-space: nowrap;
}
#calc-gb6543-6544 .gb6543-hlabel-stacked__line {
  display: block;
}
#calc-gb6543-6544 .gb6543-vlabel--class.gb6543-hlabel-stacked {
  flex: 0 0 2.1rem;
  width: 2.1rem;
  padding: 0.18rem 0.1rem;
  font-size: 0.64rem;
}
#calc-gb6543-6544 .gb6543-row-body {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0.34rem 0.38rem 0.38rem;
  box-sizing: border-box;
  border: none;
  border-radius: 0;
}
#calc-gb6543-6544 .gb6543-row-unified--dim {
  border-color: rgba(var(--gb6543-dim), 0.32);
}
#calc-gb6543-6544 .gb6543-row-unified--dim .gb6543-vlabel--dim {
  color: #15803d;
  background: rgba(var(--gb6543-dim), 0.16);
  border-right: 1px solid rgba(var(--gb6543-dim), 0.28);
}
#calc-gb6543-6544 .gb6543-row-unified--dim .gb6543-row-body {
  background: rgba(var(--gb6543-dim), 0.07);
}
#calc-gb6543-6544 .gb6543-row-unified--mass-wall {
  border-color: rgba(var(--gb6543-mass), 0.28);
}
#calc-gb6543-6544 .gb6543-row--mass-wall {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.42rem;
  min-width: 0;
  padding: 0.32rem 0.4rem;
  box-sizing: border-box;
}
#calc-gb6543-6544 .gb6543-row--mass-wall__group {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.38rem;
  min-width: 0;
  box-sizing: border-box;
}
#calc-gb6543-6544 .gb6543-row--mass-wall__group--mass {
  flex: 0 1 auto;
  padding: 0.18rem 0.34rem;
  border-radius: 8px;
  background: rgba(var(--gb6543-mass), 0.08);
}
#calc-gb6543-6544 .gb6543-row--mass-wall__group--wall {
  flex: 1 1 auto;
  min-width: 0;
  padding: 0.18rem 0.34rem;
  border-radius: 8px;
  background: rgba(var(--gb6543-wall), 0.07);
}
#calc-gb6543-6544 .gb6543-row--mass-wall__group--mass .gb6543-6544-field__label {
  color: #1d4ed8;
}
#calc-gb6543-6544 .gb6543-row--mass-wall__group--wall .gb6543-6544-field__label {
  color: #0f766e;
}
#calc-gb6543-6544 .gb6543-row--mass-wall .gb6543-6544-field__label {
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
}
#calc-gb6543-6544 .gb6543-row--mass-wall .gb6543-6544-field__label.gb6543-hlabel-stacked {
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 0;
  letter-spacing: 0;
}
#calc-gb6543-6544 .gb6543-row--mass-wall .gb6543-hlabel-stacked__line {
  display: inline;
}
#calc-gb6543-6544 .gb6543-row--mass-wall__input {
  flex: 0 1 7rem;
  width: 7rem;
  min-width: 7rem;
  max-width: 8.5rem;
  min-height: 2.5rem;
  margin: 0;
  padding: 0.32rem 0.4rem;
  border: 1px solid rgba(var(--gb6543-mass), 0.3);
  border-radius: 8px;
  font-size: 0.88rem;
  background: rgba(255, 255, 255, 0.92);
  box-sizing: border-box;
}
#calc-gb6543-6544 .gb6543-row--mass-wall__input::placeholder {
  font-size: 0.62rem;
  color: var(--ink-muted);
  opacity: 1;
}
#calc-gb6543-6544 .gb6543-row--mass-wall__input:focus {
  outline: 2px solid rgba(var(--gb6543-mass), 0.35);
  border-color: rgb(var(--gb6543-mass));
}
#calc-gb6543-6544 .gb6543-row--mass-wall__pick {
  flex: 1 1 auto;
  min-width: 8rem;
  max-width: none;
  margin: 0;
}
#calc-gb6543-6544 .gb6543-row--mass-wall__pick .box0201-layer-pick__seg {
  flex: 1 1 50%;
  min-width: 4.5rem;
}
#calc-gb6543-6544 .gb6543-row-unified--wall.gb6543-row-unified--sect {
  border-color: rgba(var(--gb6543-wall), 0.36);
}
#calc-gb6543-6544 .gb6543-row-unified--wall.gb6543-row-unified--sect .gb6543-vlabel--wall {
  color: #0f766e;
  background: rgba(var(--gb6543-wall), 0.14);
  border-right: 1px solid rgba(var(--gb6543-wall), 0.3);
}
#calc-gb6543-6544 .gb6543-row-unified--class {
  border-color: rgba(var(--gb6543-class), 0.34);
}
#calc-gb6543-6544 .gb6543-row-unified--class .gb6543-vlabel--class {
  color: #b45309;
  background: rgba(var(--gb6543-class), 0.14);
  border-right: 1px solid rgba(var(--gb6543-class), 0.3);
}
#calc-gb6543-6544 .gb6543-row-unified--class .gb6543-row-body {
  background: rgba(var(--gb6543-class), 0.06);
}
#calc-gb6543-6544 .gb6543-row-unified--sect .gb6543-row-body {
  padding: 0;
  justify-content: stretch;
}
#calc-gb6543-6544 .gb6543-process abbr {
  text-decoration: underline dotted;
  text-underline-offset: 0.12em;
  cursor: help;
}
.io-section--gb6543 .io-hint-bubble__text p {
  margin: 0 0 0.35rem;
}
.io-section--gb6543 .io-hint-bubble__text p:last-child {
  margin-bottom: 0;
}
.io-section--gb6543 .io-hint-bubble__terms-title {
  margin-top: 0.42rem;
  margin-bottom: 0.28rem;
}
#ioSection.io-section--gb654364.block {
  padding-left: 0.55rem;
  padding-right: 0.55rem;
}
.io-section--gb654364 #ioUnitHintBubble {
  max-height: min(70vh, 26rem);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.gb6543-dist-guide {
  margin: 0.28rem 0 0;
  padding-left: 1.2rem;
}
.gb6543-dist-guide > li {
  margin-bottom: 0.42rem;
}
.gb6543-dist-guide > li:last-child {
  margin-bottom: 0;
}
.gb6543-dist-guide ul {
  margin: 0.18rem 0 0;
  padding-left: 0.95rem;
  list-style: disc;
}
.gb6543-dist-guide ul li {
  margin-bottom: 0.22rem;
}
.gb6543-dist-guide ul li:last-child {
  margin-bottom: 0;
}
.gb6543-dist-guide__lead {
  margin: 0.12rem 0 0.18rem;
}
.theory-body .gb6543-dist-guide {
  margin-top: 0.35rem;
}
#calc-gb6543-6544 .gb6543-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
#calc-gb6543-6544 .gb6543-row-body--dim .gb6543-6544-field__label {
  color: #166534;
}
#calc-gb6543-6544 .gb6543-row-body--dim .gb6543-6544-field input[type='number'] {
  border-color: rgba(var(--gb6543-dim), 0.28);
  background: rgba(255, 255, 255, 0.92);
}
#calc-gb6543-6544 .gb6543-row-body--dim .gb6543-6544-field input[type='number']:focus {
  outline: 2px solid rgba(var(--gb6543-dim), 0.35);
  border-color: rgb(var(--gb6543-dim));
}
#calc-gb6543-6544 .gb6543-row-body--dim .gb6543-6544-row--lwh {
  margin: 0;
}
#calc-gb6543-6544 .gb6543-row-body--class .gb6543-6544-row--class {
  margin: 0;
  align-items: stretch;
}
#calc-gb6543-6544 .gb6543-6544-row {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 0.34rem;
  min-width: 0;
}
#calc-gb6543-6544 .gb6543-6544-row--lwh {
  gap: 0.28rem;
}
#calc-gb6543-6544 .gb6543-6544-row--class {
  align-items: stretch;
  flex: 1 1 auto;
  min-width: 0;
}
#calc-gb6543-6544 .gb6543-6544-field {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.14rem;
  margin: 0;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--ink);
}
#calc-gb6543-6544 .gb6543-6544-field__label {
  line-height: 1.2;
  white-space: nowrap;
}
#calc-gb6543-6544 .gb6543-6544-field input[type='number'] {
  width: 100%;
  min-width: 0;
  padding: 0.4rem 0.45rem;
  border: 1px solid rgba(28, 25, 23, 0.14);
  border-radius: 10px;
  font-size: 0.9rem;
  background: #fff;
  box-sizing: border-box;
}
#calc-gb6543-6544 .gb6543-6544-field input[type='number']::placeholder {
  font-size: 0.62rem;
  color: var(--ink-muted);
  opacity: 1;
}
#calc-gb6543-6544 .gb6543-6544-field input[type='number']:focus {
  outline: 2px solid var(--accent-soft);
  border-color: var(--accent);
}
#calc-gb6543-6544 .gb6543-6544-layer-pick,
#calc-gb6543-6544 .gb6543-6544-class-pick {
  flex: 1 1 0;
  min-width: 0;
  margin: 0;
}
#calc-gb6543-6544 .gb6543-row--mass-wall__pick,
#calc-gb6543-6544 .gb6543-row-body--wall .gb6543-6544-layer-pick,
#calc-gb6543-6544 .gb6543-row-body--class .gb6543-6544-class-pick {
  flex: 1 1 auto;
  align-self: stretch;
}
#calc-gb6543-6544 .box0201-layer-pick__bar {
  display: flex;
  width: 100%;
  border-radius: 8px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 1px 3px rgba(28, 25, 23, 0.05);
}
#calc-gb6543-6544 .gb6543-row--mass-wall__pick .box0201-layer-pick__bar,
#calc-gb6543-6544 .gb6543-row-body--wall .box0201-layer-pick__bar {
  border: 1px solid rgba(var(--gb6543-wall), 0.42);
}
#calc-gb6543-6544 .gb6543-row-body--class .box0201-layer-pick__bar {
  border: 1px solid rgba(var(--gb6543-class), 0.42);
}
#calc-gb6543-6544 .box0201-layer-pick__seg {
  flex: 1 1 50%;
  margin: 0;
  min-width: 0;
  cursor: pointer;
  position: relative;
}
#calc-gb6543-6544 .box0201-layer-pick__input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  margin: 0;
  pointer-events: none;
}
#calc-gb6543-6544 .box0201-layer-pick__face {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.08rem;
  min-height: 2.35rem;
  height: 100%;
  padding: 0.22rem 0.28rem;
  box-sizing: border-box;
  border-right: 1px solid rgba(28, 25, 23, 0.08);
  background: rgba(255, 255, 255, 0.55);
  color: #57534e;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
  user-select: none;
}
#calc-gb6543-6544 .gb6543-row--mass-wall__pick .box0201-layer-pick__face,
#calc-gb6543-6544 .gb6543-row-body--wall .box0201-layer-pick__face {
  border-right-color: rgba(var(--gb6543-wall), 0.22);
  background: rgba(var(--gb6543-wall), 0.06);
  color: #0f766e;
}
#calc-gb6543-6544 .gb6543-row-body--class .box0201-layer-pick__face {
  border-right-color: rgba(var(--gb6543-class), 0.2);
  background: rgba(var(--gb6543-class), 0.06);
  color: #92400e;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 0;
  min-height: 2.1rem;
  padding: 0.2rem 0.24rem;
}
#calc-gb6543-6544 .gb6543-row--mass-wall__pick .box0201-layer-pick__bar {
  min-height: 2.5rem;
  height: auto;
}
#calc-gb6543-6544 .gb6543-row--mass-wall__pick .box0201-layer-pick__face {
  flex-direction: row;
  min-height: 2.5rem;
  min-width: 4.5rem;
  padding: 0.28rem 0.42rem;
}
#calc-gb6543-6544 .box0201-layer-pick__seg:last-child .box0201-layer-pick__face {
  border-right: none;
}
#calc-gb6543-6544 .box0201-layer-pick__title {
  font-size: 0.7rem;
  font-weight: 700;
  line-height: 1.12;
  text-align: center;
}
#calc-gb6543-6544 .gb6543-6544-layer-pick .box0201-layer-pick__title {
  font-size: 0.64rem;
  letter-spacing: -0.02em;
}
#calc-gb6543-6544 .box0201-layer-pick__state {
  display: block;
  font-size: 0.58rem;
  font-weight: 400;
  line-height: 1.15;
  color: #7a736c;
  text-align: center;
}
#calc-gb6543-6544 .gb6543-row--mass-wall__pick .box0201-layer-pick__input:checked + .box0201-layer-pick__face,
#calc-gb6543-6544 .gb6543-row-body--wall .box0201-layer-pick__input:checked + .box0201-layer-pick__face {
  background: linear-gradient(180deg, #0f766e 0%, #14b8a6 50%, #0d9488 100%);
  color: #fff;
  border-right-color: rgba(15, 118, 110, 0.35);
}
#calc-gb6543-6544 .gb6543-row-body--class .box0201-layer-pick__input:checked + .box0201-layer-pick__face {
  background: linear-gradient(180deg, #c2410c 0%, #f59e0b 52%, #d97706 100%);
  color: #fff;
  border-right-color: rgba(180, 83, 9, 0.35);
}
#calc-gb6543-6544 .gb6543-row--mass-wall__pick .box0201-layer-pick__input:checked + .box0201-layer-pick__face .box0201-layer-pick__state,
#calc-gb6543-6544 .gb6543-row-body--wall .box0201-layer-pick__input:checked + .box0201-layer-pick__face .box0201-layer-pick__state,
#calc-gb6543-6544 .gb6543-row-body--class .box0201-layer-pick__input:checked + .box0201-layer-pick__face .box0201-layer-pick__state {
  color: rgba(255, 255, 255, 0.9);
}
#calc-gb6543-6544 .gb6543-6544-class-pick .box0201-layer-pick__title {
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1.15;
  white-space: nowrap;
  letter-spacing: -0.01em;
}
#calc-gb6543-6544 .gb6543-6544-class-pick .box0201-layer-pick__state {
  display: none;
}
#calc-gb6543-6544 .gb6543-6544-calc-bar {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
#calc-gb6543-6544 .gb6543-6544-calc-actions {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  width: 100%;
  box-sizing: border-box;
}
#calc-gb6543-6544 .gb6543-6544-calc-actions .btn {
  flex: 1 1 0;
  min-width: 0;
}
#calc-gb6543-6544 .gb6543-6544-calc-actions .btn-primary#btnGb654364Calc {
  min-width: 6.5rem;
}
#calc-gb6543-6544 .gb6543-6544-calc-actions .btn-secondary#btnGb654364Clear {
  white-space: nowrap;
  font-weight: 600;
  background: linear-gradient(180deg, #fff7ed 0%, #ffedd5 52%, #fed7aa 100%);
  border: 1px solid rgba(194, 65, 12, 0.48);
  color: #9a3412;
  box-shadow: 0 1px 4px rgba(194, 65, 12, 0.14);
}
#calc-gb6543-6544 .gb6543-6544-calc-actions .btn-secondary#btnGb654364Clear:hover {
  background: linear-gradient(180deg, #fffbeb 0%, #fef3c7 48%, #fde68a 100%);
  border-color: rgba(194, 65, 12, 0.58);
  color: #7c2d12;
}
.theory-gb6544-table-wrap {
  max-height: min(70vh, 26rem);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
.theory-gb6544-table {
  font-size: 0.68rem;
}
.theory-gb6544-table caption {
  font-weight: 600;
  color: var(--ink);
}
.theory-gb6544-table thead th:nth-child(n + 2),
.theory-gb6544-table tbody td {
  min-width: 3.6rem;
}
@media (max-width: 480px) {
  #ioSection.io-section--gb654364.block {
    padding-top: 0.12rem;
    padding-bottom: 0.42rem;
    padding-left: 0.45rem;
    padding-right: 0.45rem;
  }
  #ioSection.io-section--gb654364 .io-corner-nav {
    top: 0.42rem;
    left: 0.5rem;
    right: 0.5rem;
  }
  #ioSection.io-section--gb654364 .io-corner-nav__tile {
    width: 2.42rem;
    height: 2.42rem;
    min-width: 2.42rem;
    min-height: 2.42rem;
    max-width: 2.42rem;
    max-height: 2.42rem;
    font-size: 0.58rem;
    padding: 0.1rem 0.06rem;
  }
  #ioSection.io-section--gb654364 .theory-feature-name,
  #ioSection.io-section--gb654364 #calcFeatureName {
    margin: 0 0 0.16rem;
    padding-left: clamp(2.45rem, 3.2vw + 1.65rem, 5.2rem);
    padding-right: clamp(2.45rem, 3.2vw + 1.65rem, 5.2rem);
    font-size: 0.76rem;
    font-weight: 700;
    line-height: 1.12;
    letter-spacing: 0.01em;
    word-break: keep-all;
    overflow-wrap: break-word;
  }
  #ioSection.io-section--gb654364 .theory-title-row {
    margin-bottom: 0.14rem;
    padding-bottom: 0.18rem;
    padding-left: clamp(2.45rem, 3.2vw + 1.65rem, 5.2rem);
    padding-right: clamp(2.45rem, 3.2vw + 1.65rem, 5.2rem);
  }
  #calc-gb6543-6544 .gb6543-6544-inputs {
    gap: 0.26rem;
  }
  #calc-gb6543-6544 .gb6543-row-unified {
    border-radius: 8px;
  }
  #calc-gb6543-6544 .gb6543-vlabel {
    flex: 0 0 1.85rem;
    width: 1.85rem;
    font-size: 0.6rem;
    padding: 0.16rem 0.08rem;
  }
  #calc-gb6543-6544 .gb6543-vlabel--sect {
    flex: 0 0 1.65rem;
    width: 1.65rem;
    font-size: 0.56rem;
  }
  #calc-gb6543-6544 .gb6543-row-body {
    padding: 0.28rem 0.3rem 0.32rem;
  }
  #calc-gb6543-6544 .gb6543-row-unified--sect .gb6543-row-body {
    padding: 0;
  }
  #calc-gb6543-6544 .gb6543-6544-row {
    gap: 0.26rem;
  }
  #calc-gb6543-6544 .gb6543-6544-row--lwh {
    gap: 0.22rem;
  }
  #calc-gb6543-6544 .gb6543-row--mass-wall {
    flex-wrap: nowrap;
    gap: 0.2rem;
    padding: 0.24rem 0.26rem;
  }
  #calc-gb6543-6544 .gb6543-row--mass-wall__group {
    flex-wrap: nowrap;
    gap: 0.18rem;
    min-width: 0;
  }
  #calc-gb6543-6544 .gb6543-row--mass-wall__group--mass {
    flex: 0 1 auto;
    padding: 0.14rem 0.2rem;
  }
  #calc-gb6543-6544 .gb6543-row--mass-wall__group--wall {
    flex: 1 1 auto;
    min-width: 0;
    padding: 0.14rem 0.2rem;
  }
  #calc-gb6543-6544 .gb6543-vlabel--class.gb6543-hlabel-stacked {
    flex: 0 0 1.9rem;
    width: 1.9rem;
    font-size: 0.58rem;
    padding: 0.14rem 0.08rem;
  }
  #calc-gb6543-6544 .gb6543-row--mass-wall .gb6543-6544-field__label.gb6543-hlabel-stacked {
    flex: 0 0 2.4rem;
    width: 2.4rem;
    min-width: 2.4rem;
    flex-direction: column;
    gap: 0.04rem;
    writing-mode: horizontal-tb;
    text-orientation: mixed;
    font-size: 0.58rem;
    line-height: 1.08;
    letter-spacing: 0.02em;
    text-align: center;
    align-self: center;
  }
  #calc-gb6543-6544 .gb6543-row--mass-wall .gb6543-hlabel-stacked__line {
    display: block;
  }
  #calc-gb6543-6544 .gb6543-row--mass-wall__input {
    flex: 0 0 3.15rem;
    width: 3.15rem;
    min-width: 3rem;
    max-width: 3.4rem;
    min-height: 2.2rem;
    padding: 0.22rem 0.26rem;
    font-size: 0.8rem;
  }
  #calc-gb6543-6544 .gb6543-row--mass-wall__pick {
    flex: 1 1 auto;
    min-width: 0;
    max-width: none;
  }
  #calc-gb6543-6544 .gb6543-row--mass-wall__pick .box0201-layer-pick__title {
    font-size: 0.58rem;
    letter-spacing: -0.02em;
  }
  #calc-gb6543-6544 .gb6543-row--mass-wall__pick .box0201-layer-pick__seg {
    flex: 1 1 50%;
    min-width: 0;
  }
  #calc-gb6543-6544 .gb6543-row--mass-wall__pick .box0201-layer-pick__bar {
    min-height: 2.2rem;
  }
  #calc-gb6543-6544 .gb6543-row--mass-wall__pick .box0201-layer-pick__face {
    min-width: 0;
    min-height: 2.2rem;
    padding: 0.12rem 0.14rem;
  }
  #calc-gb6543-6544 .gb6543-6544-field {
    gap: 0.1rem;
  }
  #calc-gb6543-6544 .gb6543-6544-field__label {
    font-size: 0.68rem;
  }
  #calc-gb6543-6544 .gb6543-6544-field input[type='number'] {
    padding: 0.34rem 0.36rem;
    font-size: 0.84rem;
    border-radius: 8px;
  }
  #calc-gb6543-6544 .gb6543-6544-field input[type='number']::placeholder {
    font-size: 0.58rem;
  }
  #calc-gb6543-6544 .gb6543-6544-class-pick .box0201-layer-pick__face {
    flex-direction: row;
    flex-wrap: nowrap;
    min-height: 1.36rem;
    padding: 0.1rem 0.12rem;
    gap: 0;
  }
  #calc-gb6543-6544 .gb6543-6544-class-pick .box0201-layer-pick__title {
    font-size: 0.62rem;
    letter-spacing: -0.03em;
  }
  #calc-gb6543-6544 .mckee-calc-bar--gb6543 {
    margin-top: 0.42rem;
  }
  #calc-gb6543-6544 .gb6543-6544-calc-actions {
    gap: 0.36rem;
  }
  #calc-gb6543-6544 .gb6543-6544-calc-actions .btn.btn-primary,
  #calc-gb6543-6544 .gb6543-6544-calc-actions .btn.btn-secondary {
    min-height: 2rem;
    padding: 0.28rem 0.5rem;
    font-size: 0.78rem;
  }
}

/* GB/T 6543-2025 表1 交互高亮（gb6543-6544） */
#calc-gb6543-6544 .gb6543-table-wrap {
  margin: 0.55rem 0 0.65rem;
  display: flex;
  flex-direction: column;
  gap: 0.42rem;
}
#calc-gb6543-6544 .gb6543-row-unified--sect .gb6543-table-scroll {
  flex: 1 1 auto;
  min-width: 0;
}
#calc-gb6543-6544 .gb6543-table-legend {
  display: none;
  flex-wrap: wrap;
  gap: 0.28rem 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.58rem;
  color: var(--muted, #78716c);
  line-height: 1.25;
}
#calc-gb6543-6544 .gb6543-table-wrap--active .gb6543-table-legend {
  display: flex;
}
#calc-gb6543-6544 .gb6543-table-legend--compact .gb6543-legend-swatch {
  width: 0.52rem;
  height: 0.52rem;
}
#calc-gb6543-6544 .gb6543-table-legend li {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  white-space: nowrap;
}
#calc-gb6543-6544 .gb6543-legend-swatch {
  display: inline-block;
  width: 0.72rem;
  height: 0.72rem;
  border-radius: 3px;
  border: 1px solid rgba(28, 25, 23, 0.12);
  flex-shrink: 0;
}
#calc-gb6543-6544 .gb6543-legend-swatch--dim {
  background: rgba(34, 197, 94, 0.35);
}
#calc-gb6543-6544 .gb6543-legend-swatch--mass {
  background: rgba(59, 130, 246, 0.35);
}
#calc-gb6543-6544 .gb6543-legend-swatch--class {
  background: rgba(245, 158, 11, 0.35);
}
#calc-gb6543-6544 .gb6543-legend-swatch--wall {
  background: rgba(20, 184, 166, 0.28);
  box-shadow: inset 0 0 0 1px rgba(20, 184, 166, 0.55);
}
#calc-gb6543-6544 .gb6543-legend-swatch--result {
  background: #fff;
  box-shadow: inset 0 0 0 2px rgba(28, 25, 23, 0.82);
}
#calc-gb6543-6544 .gb6543-table-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: none;
  border-radius: 0;
  background: rgba(255, 251, 245, 0.65);
}
#calc-gb6543-6544 .gb6543-row-unified--sect .gb6543-table-scroll {
  background: rgba(255, 251, 245, 0.85);
}
#calc-gb6543-6544 .gb6543-table {
  width: 100%;
  min-width: 300px;
  border-collapse: collapse;
  font-size: 0.7rem;
  line-height: 1.35;
  color: var(--ink);
}
#calc-gb6543-6544 .gb6543-table-head th {
  padding: 0.32rem 0.4rem;
  text-align: center;
  font-size: 0.66rem;
  font-weight: 600;
  color: var(--muted, #57534e);
  background: rgba(28, 25, 23, 0.03);
  border-bottom: 1px solid rgba(28, 25, 23, 0.1);
  white-space: nowrap;
}
#calc-gb6543-6544 .gb6543-table td {
  padding: 0.3rem 0.4rem;
  text-align: center;
  border-bottom: 1px solid rgba(28, 25, 23, 0.06);
  white-space: nowrap;
  transition: background-color 0.15s ease, box-shadow 0.15s ease;
}
#calc-gb6543-6544 .gb6543-cell-mass,
#calc-gb6543-6544 .gb6543-cell-dim {
  font-family: ui-monospace, 'Cascadia Mono', 'Consolas', monospace;
  font-size: 0.68rem;
}
#calc-gb6543-6544 .gb6543-cell-code {
  font-weight: 600;
  letter-spacing: -0.02em;
}
#calc-gb6543-6544 .gb6543-row-unified--sect:has(.gb6543-table-section.hl-wall) .gb6543-vlabel--sect {
  box-shadow: inset 0 0 0 2px rgba(20, 184, 166, 0.55);
}
#calc-gb6543-6544 .gb6543-row-unified--sect:has(.gb6543-table-section.hl-wall) {
  box-shadow: 0 0 0 2px rgba(20, 184, 166, 0.45);
}
#calc-gb6543-6544 .gb6543-table-section.hl-wall {
  box-shadow: inset 0 0 0 2px rgba(20, 184, 166, 0.5);
}
#calc-gb6543-6544 .gb6543-table .hl-dim {
  background-color: rgba(34, 197, 94, 0.28);
}
#calc-gb6543-6544 .gb6543-table .hl-mass {
  background-color: rgba(59, 130, 246, 0.28);
}
#calc-gb6543-6544 .gb6543-table .hl-class {
  background-color: rgba(245, 158, 11, 0.26);
}
#calc-gb6543-6544 .gb6543-table .hl-result {
  font-weight: 700;
  box-shadow: inset 0 0 0 2.5px rgba(28, 25, 23, 0.88);
  position: relative;
  z-index: 1;
}
#calc-gb6543-6544 .gb6543-table .hl-result.hl-class {
  background-color: rgba(245, 158, 11, 0.26);
}
#calc-gb6543-6544 .gb6543-table .hl-result.hl-mass {
  background-color: rgba(59, 130, 246, 0.28);
}
#calc-gb6543-6544 .gb6543-table .hl-result.hl-dim {
  background-color: rgba(34, 197, 94, 0.28);
}
@media (max-width: 520px) {
  #calc-gb6543-6544 .gb6543-table-wrap {
    margin: 0.45rem 0 0.55rem;
    gap: 0.34rem;
  }
  #calc-gb6543-6544 .gb6543-table-legend {
    font-size: 0.54rem;
    gap: 0.22rem 0.38rem;
  }
  #calc-gb6543-6544 .gb6543-table {
    font-size: 0.66rem;
    min-width: 280px;
  }
  #calc-gb6543-6544 .gb6543-table-head th {
    font-size: 0.62rem;
    padding: 0.28rem 0.32rem;
  }
  #calc-gb6543-6544 .gb6543-table td {
    padding: 0.26rem 0.32rem;
  }
  #calc-gb6543-6544 .gb6543-cell-mass,
  #calc-gb6543-6544 .gb6543-cell-dim {
    font-size: 0.64rem;
  }
}

#calc-gb6543-6544 .mckee-calc-out-wrap .out:empty {
  min-height: 100%;
  box-sizing: border-box;
  border: 1px solid var(--border);
  border-radius: 10px;
}
#calc-bct-ect .mckee-calc-out-wrap .out:empty {
  min-height: 100%;
  box-sizing: border-box;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: rgba(250, 248, 245, 0.55);
}
.gb6543-process {
  margin: 0 0 0.55rem;
  padding: 0.45rem 0.55rem;
  border: 1px solid rgba(28, 25, 23, 0.1);
  border-radius: 10px;
  background: rgba(255, 251, 245, 0.9);
  font-size: 0.78rem;
  line-height: 1.5;
  color: var(--ink);
}
.gb6543-process__title {
  margin: 0 0 0.35rem;
  font-size: 0.8rem;
  color: var(--ink);
  letter-spacing: -0.02em;
}
.gb6543-process__line {
  margin: 0 0 0.2rem;
  font-family: ui-monospace, 'Cascadia Mono', 'Consolas', monospace;
  font-size: 0.74rem;
  letter-spacing: -0.02em;
  word-break: normal;
  overflow-wrap: anywhere;
}
.gb6543-process__note {
  margin: 0.5rem 0 0;
  font-family: inherit;
  font-size: 0.72rem;
  line-height: 1.45;
  color: #5a534c;
}
.gb6543-process__line--result {
  margin-bottom: 0;
  margin-top: 0.25rem;
  font-size: 0.82rem;
}

/* 0201 纸箱面积重量（plan-a）、纸板边压耐破（plan-b）层数选择 */
#calc-plan-a .box0201-layer-pick,
#calc-plan-d .box0201-layer-pick,
#calc-plan-b .box0201-layer-pick, #calc-plan-c .box0201-layer-pick, #calc-kelike .box0201-layer-pick{
  margin: 0.04rem 0 0.28rem;
}
#calc-plan-a .box0201-layer-pick__bar,
#calc-plan-d .box0201-layer-pick__bar,
#calc-plan-b .box0201-layer-pick__bar, #calc-plan-c .box0201-layer-pick__bar, #calc-kelike .box0201-layer-pick__bar{
  display: flex;
  width: 100%;
  border: 1px solid rgba(37, 99, 235, 0.35);
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 1px 4px rgba(28, 25, 23, 0.06);
}
#calc-plan-a .box0201-layer-pick__seg,
#calc-plan-d .box0201-layer-pick__seg,
#calc-plan-b .box0201-layer-pick__seg, #calc-plan-c .box0201-layer-pick__seg, #calc-kelike .box0201-layer-pick__seg{
  flex: 1 1 50%;
  margin: 0;
  min-width: 0;
  cursor: pointer;
  position: relative;
}
#calc-plan-a .box0201-layer-pick__input,
#calc-plan-d .box0201-layer-pick__input,
#calc-plan-b .box0201-layer-pick__input, #calc-plan-c .box0201-layer-pick__input, #calc-kelike .box0201-layer-pick__input{
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  margin: 0;
  pointer-events: none;
}
#calc-plan-a .box0201-layer-pick__face,
#calc-plan-d .box0201-layer-pick__face,
#calc-plan-b .box0201-layer-pick__face, #calc-plan-c .box0201-layer-pick__face, #calc-kelike .box0201-layer-pick__face{
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 0.2rem;
  min-height: 1.12rem;
  padding: 0.05rem 0.16rem;
  border-right: 1px solid rgba(37, 99, 235, 0.2);
  background: rgba(248, 250, 252, 0.92);
  color: #475569;
  transition: background 0.15s ease, color 0.15s ease;
  user-select: none;
}
#calc-plan-a .box0201-layer-pick__seg:last-child .box0201-layer-pick__face,
#calc-plan-d .box0201-layer-pick__seg:last-child .box0201-layer-pick__face,
#calc-plan-b .box0201-layer-pick__seg:last-child .box0201-layer-pick__face, #calc-plan-c .box0201-layer-pick__seg:last-child .box0201-layer-pick__face, #calc-kelike .box0201-layer-pick__seg:last-child .box0201-layer-pick__face{
  border-right: none;
}
#calc-plan-a .box0201-layer-pick__title,
#calc-plan-d .box0201-layer-pick__title,
#calc-plan-b .box0201-layer-pick__title, #calc-plan-c .box0201-layer-pick__title, #calc-kelike .box0201-layer-pick__title{
  font-size: 0.74rem;
  font-weight: 700;
  line-height: 1.08;
}
#calc-plan-a .box0201-layer-pick__state,
#calc-plan-d .box0201-layer-pick__state,
#calc-plan-b .box0201-layer-pick__state, #calc-plan-c .box0201-layer-pick__state, #calc-kelike .box0201-layer-pick__state{
  display: none;
  font-size: 0.52rem;
  font-weight: 600;
  line-height: 1.1;
  white-space: nowrap;
  color: rgba(255, 255, 255, 0.92);
}
#calc-plan-a .box0201-layer-pick__input:checked + .box0201-layer-pick__face,
#calc-plan-d .box0201-layer-pick__input:checked + .box0201-layer-pick__face,
#calc-plan-b .box0201-layer-pick__input:checked + .box0201-layer-pick__face, #calc-plan-c .box0201-layer-pick__input:checked + .box0201-layer-pick__face, #calc-kelike .box0201-layer-pick__input:checked + .box0201-layer-pick__face{
  background: linear-gradient(180deg, #1d4ed8 0%, #2563eb 52%, #1e40af 100%);
  color: #fff;
}
#calc-plan-a .box0201-layer-pick__input:checked + .box0201-layer-pick__face .box0201-layer-pick__state,
#calc-plan-d .box0201-layer-pick__input:checked + .box0201-layer-pick__face .box0201-layer-pick__state,
#calc-plan-b .box0201-layer-pick__input:checked + .box0201-layer-pick__face .box0201-layer-pick__state, #calc-plan-c .box0201-layer-pick__input:checked + .box0201-layer-pick__face .box0201-layer-pick__state, #calc-kelike .box0201-layer-pick__input:checked + .box0201-layer-pick__face .box0201-layer-pick__state{
  display: inline;
}

/* 0201 plan-a：三层/五层切换条略加高（仅本页，plan-b/c/kelike/more-stack 不变） */
#calc-plan-a .box0201-layer-pick__face {
  min-height: 1.72rem;
  padding: 0.14rem 0.22rem;
  gap: 0.24rem;
}

#calc-plan-a .box0201-layer-pick__title {
  font-size: 0.8rem;
  line-height: 1.14;
}

#calc-plan-a .box0201-layer-pick__state {
  font-size: 0.56rem;
  line-height: 1.12;
}

/* 自动配材：层数切换（仅 #calc-more-stack，不与其他模式共用） */
#calc-more-stack .box0201-layer-pick {
  margin: 0 0 0.04rem;
}

#calc-more-stack .box0201-layer-pick__bar {
  display: flex;
  width: 100%;
  border: 1px solid rgba(37, 99, 235, 0.35);
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 1px 4px rgba(28, 25, 23, 0.06);
}

#calc-more-stack .box0201-layer-pick__seg {
  flex: 1 1 50%;
  display: flex;
  align-items: stretch;
  margin: 0;
  min-width: 0;
  cursor: pointer;
  position: relative;
}

#calc-more-stack .box0201-layer-pick__input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  margin: 0;
  pointer-events: none;
}

#calc-more-stack .box0201-layer-pick__face {
  display: flex;
  flex: 1 1 auto;
  width: 100%;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 0.14rem;
  min-height: 1.28rem;
  padding: 0.08rem 0.14rem;
  box-sizing: border-box;
  border-right: 1px solid rgba(37, 99, 235, 0.2);
  background: rgba(248, 250, 252, 0.92);
  color: #475569;
  transition: background 0.15s ease, color 0.15s ease;
  user-select: none;
}

#calc-more-stack .box0201-layer-pick__seg:last-child .box0201-layer-pick__face {
  border-right: none;
}

#calc-more-stack .box0201-layer-pick__title {
  font-size: 0.74rem;
  font-weight: 700;
  line-height: 1.1;
}

#calc-more-stack .box0201-layer-pick__state {
  display: none;
  font-size: 0.52rem;
  font-weight: 600;
  line-height: 1.1;
  white-space: nowrap;
  color: rgba(255, 255, 255, 0.92);
}

#calc-more-stack .box0201-layer-pick__input:checked + .box0201-layer-pick__face {
  background: linear-gradient(180deg, #1d4ed8 0%, #2563eb 52%, #1e40af 100%);
  color: #fff;
}

#calc-more-stack .box0201-layer-pick__input:checked + .box0201-layer-pick__face .box0201-layer-pick__state {
  display: none;
}

#calc-more-stack .msm-layer-pick {
  margin-bottom: 0;
  max-width: 11.5rem;
  margin-left: auto;
  margin-right: auto;
}

#calc-more-stack .msm-layer-mode-hint {
  margin: 0.06rem 0 0.1rem;
  padding: 0.08rem 0.12rem;
  font-size: 0.62rem;
  line-height: 1.45;
  color: #57534e;
  text-align: center;
  background: rgba(255, 251, 235, 0.85);
  border-radius: 4px;
  border: 1px solid rgba(251, 191, 36, 0.35);
}

/* 以层数单选为准（不依赖 msm-mode-* 是否已同步） */
#calc-more-stack:has(#msmLayerThree:checked) .msm-layer--five-only {
  display: none !important;
}

#calc-more-stack:has(#msmLayerFive:checked) .msm-layer--three-only {
  display: none !important;
}
#calc-plan-a.box0201-mode-three .box0201-row--five-only,
#calc-plan-d.box0201-mode-three .box0201-row--five-only {
  display: none !important;
}
#calc-plan-b.planb-mode-three .planb-layer--five-only,
#calc-plan-c.planb-mode-three .planb-layer--five-only,
#calc-kelike.planb-mode-three .planb-layer--five-only,
#calc-kelike.kelike-mode-three .planb-layer--five-only {
  display: none !important;
}
#calc-plan-a .box0201-table-wrap {
  overflow-x: auto;
  margin: 0.2rem 0 0.38rem;
  -webkit-overflow-scrolling: touch;
}
#calc-plan-a .box0201-input-table {
  width: 100%;
  min-width: 520px;
  border-collapse: collapse;
  font-size: 0.72rem;
}
#calc-plan-a .box0201-input-table th,
#calc-plan-a .box0201-input-table td {
  border: 1px solid var(--border);
  padding: 0.26rem 0.35rem;
  text-align: center;
  vertical-align: middle;
}
#calc-plan-a .box0201-th {
  font-weight: 600;
  color: var(--ink);
  line-height: 1.35;
  letter-spacing: -0.02em;
}
/* 0201 表头分组色：外尺寸 / 钉条 / 面中里纸 / 瓦楞 */
#calc-plan-a .box0201-th--size {
  background: rgba(37, 99, 235, 0.38);
}
#calc-plan-a .box0201-th--staple {
  background: rgba(109, 40, 217, 0.36);
}
#calc-plan-a .box0201-th--liner {
  background: rgba(22, 163, 74, 0.4);
}
#calc-plan-a .box0201-th--flute {
  background: rgba(217, 119, 6, 0.42);
}
#calc-plan-a .box0201-td {
  background: rgba(250, 204, 21, 0.2);
}
#calc-plan-a .box0201-td-empty {
  border: 1px solid var(--border);
  background: rgba(250, 248, 245, 0.35);
}
#calc-plan-a .box0201-input-table input[type='number'],
#calc-plan-a .box0201-input-table select {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  min-height: 1.85rem;
  padding: 0.22rem 0.32rem;
  border: 1px solid rgba(28, 25, 23, 0.18);
  border-radius: 6px;
  font-size: 0.76rem;
  background: #fff;
}
#calc-plan-a .mckee-calc-bar--box0201 {
  margin-top: 0.35rem;
  gap: 0.45rem;
}
/* 0201「计算」与全页「生成报告」同色类区分：计算用蓝，报告保持主色橙 */
#calc-plan-a #btnBox0201Calc.btn-primary {
  background: linear-gradient(180deg, #1d4ed8 0%, #2563eb 52%, #1e40af 100%);
  border-color: rgba(30, 64, 175, 0.55);
  box-shadow: 0 2px 10px rgba(37, 99, 235, 0.3);
  color: #fff;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.12);
}
#calc-plan-a #btnBox0201Calc.btn-primary:hover {
  filter: brightness(1.06);
  box-shadow: 0 4px 14px rgba(37, 99, 235, 0.38);
}
#calc-plan-a .mckee-calc-out-wrap .out:empty {
  min-height: 100%;
  box-sizing: border-box;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: rgba(250, 248, 245, 0.55);
}
#calc-plan-a .box0201-result-title {
  font-size: 0.88rem;
  font-weight: 700;
  text-align: center;
  margin: 0.35rem 0 0.28rem;
  color: var(--ink);
}
#calc-plan-a .box0201-result-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.74rem;
  margin-bottom: 0.25rem;
}
#calc-plan-a .box0201-result-table th,
#calc-plan-a .box0201-result-table td {
  border: 1px solid var(--border);
  padding: 0.35rem 0.45rem;
  text-align: center;
}
#calc-plan-a .box0201-result-table th {
  background: rgba(180, 83, 9, 0.08);
  font-weight: 600;
}
#calc-plan-a .box0201-note {
  text-align: left;
  line-height: 1.55;
  font-size: 0.7rem;
  color: #57534e;
}
#calc-plan-a .box0201-idle-hint {
  margin: 0;
  line-height: 1.45;
}

/* plan-d 异型箱重量：与 plan-a 同形表单（桌面与结果区） */
#calc-plan-d .box0201-layer-pick__face {
  min-height: 1.72rem;
  padding: 0.14rem 0.22rem;
  gap: 0.24rem;
}
#calc-plan-d .box0201-layer-pick__title {
  font-size: 0.8rem;
  line-height: 1.14;
}
#calc-plan-d .box0201-layer-pick__state {
  font-size: 0.56rem;
  line-height: 1.12;
}
#calc-plan-d .box0201-table-wrap {
  overflow-x: auto;
  margin: 0.2rem 0 0.38rem;
  -webkit-overflow-scrolling: touch;
}
#calc-plan-d .box0201-input-table {
  width: 100%;
  min-width: 520px;
  border-collapse: collapse;
  font-size: 0.72rem;
}
#calc-plan-d .box0201-input-table th,
#calc-plan-d .box0201-input-table td {
  border: 1px solid var(--border);
  padding: 0.26rem 0.35rem;
  text-align: center;
  vertical-align: middle;
}
#calc-plan-d .box0201-th {
  font-weight: 600;
  color: var(--ink);
  line-height: 1.35;
  letter-spacing: -0.02em;
}
#calc-plan-d .box0201-th--size {
  background: rgba(37, 99, 235, 0.38);
}
#calc-plan-d .box0201-th--liner {
  background: rgba(22, 163, 74, 0.4);
}
#calc-plan-d .box0201-th--flute {
  background: rgba(217, 119, 6, 0.42);
}
#calc-plan-d .box0201-td {
  background: rgba(250, 204, 21, 0.2);
}
#calc-plan-d .box0201-td-empty {
  border: 1px solid var(--border);
  background: rgba(250, 248, 245, 0.35);
}
#calc-plan-d .box0201-input-table input[type='number'],
#calc-plan-d .box0201-input-table select {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  min-height: 1.85rem;
  padding: 0.22rem 0.32rem;
  border: 1px solid rgba(28, 25, 23, 0.18);
  border-radius: 6px;
  font-size: 0.76rem;
  background: #fff;
}
#calc-plan-d .mckee-calc-bar--box0201 {
  margin-top: 0.35rem;
  gap: 0.45rem;
}
#calc-plan-d #btnPlandCalc.btn-primary {
  background: linear-gradient(180deg, #1d4ed8 0%, #2563eb 52%, #1e40af 100%);
  border-color: rgba(30, 64, 175, 0.55);
  box-shadow: 0 2px 10px rgba(37, 99, 235, 0.3);
  color: #fff;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.12);
}
#calc-plan-d #btnPlandCalc.btn-primary:hover {
  filter: brightness(1.06);
  box-shadow: 0 4px 14px rgba(37, 99, 235, 0.38);
}
#calc-plan-d .mckee-calc-out-wrap .out:empty {
  min-height: 100%;
  box-sizing: border-box;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: rgba(250, 248, 245, 0.55);
}
#calc-plan-d .box0201-result-title {
  font-size: 0.88rem;
  font-weight: 700;
  text-align: center;
  margin: 0.35rem 0 0.28rem;
  color: var(--ink);
}
#calc-plan-d .box0201-result-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.74rem;
  margin-bottom: 0.25rem;
}
#calc-plan-d .box0201-result-table th,
#calc-plan-d .box0201-result-table td {
  border: 1px solid var(--border);
  padding: 0.35rem 0.45rem;
  text-align: center;
}
#calc-plan-d .box0201-result-table th {
  background: rgba(180, 83, 9, 0.08);
  font-weight: 600;
}
#calc-plan-d .box0201-idle-hint {
  margin: 0;
  line-height: 1.45;
}
/* plan-d 桌面：与 plan-a 同 8 列网格（长宽高三组 + 尾列留白） */
@media (min-width: 641px) {
  /* 隐藏行：复用 0201 尺寸行结构，仅用于锁定列宽（与 plan-a 首行一致） */
  #calc-plan-d .box0201-row--pland-col-sizer {
    height: 0;
    overflow: hidden;
    line-height: 0;
    font-size: 0;
    visibility: collapse;
  }
  #calc-plan-d .box0201-row--pland-col-sizer th,
  #calc-plan-d .box0201-row--pland-col-sizer td {
    height: 0;
    padding: 0;
    overflow: hidden;
    line-height: 0;
    border: none !important;
    visibility: hidden;
  }
  #calc-plan-d .box0201-row--pland-col-sizer input {
    display: none;
  }
  #calc-plan-d .box0201-input-table tr.box0201-row--pland-area th {
    white-space: normal;
    line-height: 1.25;
    max-width: 6.5rem;
    overflow-wrap: anywhere;
  }
  /* 占位钉条列：与 plan-a 面纸行同文案/输入框尺寸，仅锁定列宽（无可见框线） */
  #calc-plan-d .box0201-th--pland-grid,
  #calc-plan-d .box0201-td--pland-grid {
    color: transparent;
    -webkit-text-fill-color: transparent;
    user-select: none;
    pointer-events: none;
    border: none !important;
    background: transparent !important;
  }
  #calc-plan-d .box0201-td--pland-grid input {
    visibility: hidden;
    pointer-events: none;
  }
  /* 桌面留白格：保留列宽，不显示空框 */
  #calc-plan-d .box0201-td-empty {
    border: none !important;
    background: transparent !important;
  }
}

/* 0201 窄屏：原分行/分列；tbody 外框 + 行间线；行间略留一丝呼吸（勿过大）；触控加高输入框 */
@media (max-width: 640px) {
  #ioSection.io-section--box0201 .theory-title-row {
    margin-bottom: 0.12rem;
    padding-bottom: 0.22rem;
  }
  #ioSection.io-section--box0201 .theory-feature-name {
    margin-bottom: 0.12rem;
  }
  #ioSection.io-section--box0201.block {
    padding: 0.55rem 0.48rem 0.38rem;
  }
  #ioSection.io-section--box0201 .io-actions {
    margin-top: 0.22rem;
    padding-top: 0.26rem;
  }
  /* 未计算时隐藏说明条，压缩「计算」与「生成报告」间距 */
  #calc-plan-a .mckee-calc-out-wrap:has(#outPlanA > .box0201-idle-hint:only-child) {
    display: none !important;
  }
  #calc-plan-a #outPlanA.out {
    margin-top: 0.28rem;
    padding: 0.38rem 0.42rem;
    font-size: 0.78rem;
  }
  #calc-plan-a .box0201-table-wrap {
    overflow-x: visible;
    margin: 0 0 0.08rem;
  }
  #calc-plan-a .box0201-input-table {
    min-width: 0;
    width: 100%;
    font-size: 0.76rem;
    border-collapse: separate;
    border-spacing: 0;
  }
  #calc-plan-a .box0201-input-table tbody {
    display: block;
    border: 1px solid var(--border);
    border-radius: 10px;
    overflow: hidden;
    background: rgba(250, 248, 245, 0.45);
  }
  #calc-plan-a .box0201-input-table tbody > tr {
    border-bottom: 1px solid var(--border);
  }
  #calc-plan-a .box0201-input-table tbody > tr:last-child {
    border-bottom: none;
  }
  #calc-plan-a .box0201-input-table .box0201-td-empty {
    display: none !important;
  }
  #calc-plan-a .box0201-input-table .box0201-th {
    letter-spacing: -0.05em;
    line-height: 1.22;
  }
  #calc-plan-a .box0201-input-table input[type='number'],
  #calc-plan-a .box0201-input-table select {
    min-height: 2.75rem;
    padding: 0.38rem 0.4rem;
    font-size: 0.84rem;
  }

  #calc-plan-a.box0201-mode-three .box0201-input-table tbody > tr.box0201-row--five-only {
    display: none !important;
  }

  /* 中纸、里纸：各占一行（纵向块） */
  #calc-plan-a .box0201-input-table tr.box0201-row--mid,
  #calc-plan-a .box0201-input-table tr.box0201-row--back {
    display: block;
    margin-bottom: 0;
    padding: 0.08rem 0.22rem;
    border-radius: 0;
    border: none;
    background: transparent;
    box-sizing: border-box;
  }
  #calc-plan-a .box0201-input-table tr.box0201-row--back {
    padding-bottom: 0.1rem;
  }
  #calc-plan-a .box0201-input-table tr.box0201-row--mid th,
  #calc-plan-a .box0201-input-table tr.box0201-row--mid td,
  #calc-plan-a .box0201-input-table tr.box0201-row--back th,
  #calc-plan-a .box0201-input-table tr.box0201-row--back td {
    display: block;
    width: 100%;
    box-sizing: border-box;
    border: none;
  }
  #calc-plan-a .box0201-input-table tr.box0201-row--mid th,
  #calc-plan-a .box0201-input-table tr.box0201-row--back th {
    text-align: left;
    padding: 0.1rem 0.32rem 0;
  }
  #calc-plan-a .box0201-input-table tr.box0201-row--mid td,
  #calc-plan-a .box0201-input-table tr.box0201-row--back td {
    padding: 0 0.32rem 0.08rem;
  }

  /* 第 1 行：长、宽、高 三列一行 */
  #calc-plan-a .box0201-input-table tr.box0201-row--size {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 0.22rem;
    row-gap: 0.08rem;
    margin-bottom: 0;
    padding: 0.08rem 0.22rem;
    border-radius: 0;
    border: none;
    background: transparent;
    box-sizing: border-box;
  }
  #calc-plan-a .box0201-input-table tr.box0201-row--size th,
  #calc-plan-a .box0201-input-table tr.box0201-row--size td {
    display: block;
    width: 100%;
    border: none;
    box-sizing: border-box;
  }
  #calc-plan-a .box0201-input-table tr.box0201-row--size th:nth-child(1) {
    grid-column: 1;
    grid-row: 1;
    text-align: center;
    padding: 0.1rem 0.1rem 0;
    font-size: 0.68rem;
    line-height: 1.22;
  }
  #calc-plan-a .box0201-input-table tr.box0201-row--size td:nth-child(2) {
    grid-column: 1;
    grid-row: 2;
    padding: 0 0.08rem 0.08rem;
  }
  #calc-plan-a .box0201-input-table tr.box0201-row--size th:nth-child(3) {
    grid-column: 2;
    grid-row: 1;
    text-align: center;
    padding: 0.1rem 0.1rem 0;
    font-size: 0.68rem;
    line-height: 1.22;
  }
  #calc-plan-a .box0201-input-table tr.box0201-row--size td:nth-child(4) {
    grid-column: 2;
    grid-row: 2;
    padding: 0 0.08rem 0.08rem;
  }
  #calc-plan-a .box0201-input-table tr.box0201-row--size th:nth-child(5) {
    grid-column: 3;
    grid-row: 1;
    text-align: center;
    padding: 0.1rem 0.1rem 0;
    font-size: 0.68rem;
    line-height: 1.22;
  }
  #calc-plan-a .box0201-input-table tr.box0201-row--size td:nth-child(6) {
    grid-column: 3;
    grid-row: 2;
    padding: 0 0.08rem 0.08rem;
  }

  /* 面纸克重 + 钉条宽度：窄屏两列一行 */
  #calc-plan-a .box0201-input-table tr.box0201-row--face {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 0.22rem;
    row-gap: 0.08rem;
    margin-bottom: 0;
    padding: 0.08rem 0.22rem;
    border-radius: 0;
    border: none;
    background: transparent;
    box-sizing: border-box;
  }
  #calc-plan-a .box0201-input-table tr.box0201-row--face th,
  #calc-plan-a .box0201-input-table tr.box0201-row--face td {
    display: block;
    width: 100%;
    border: none;
    box-sizing: border-box;
  }
  #calc-plan-a .box0201-input-table tr.box0201-row--face th:nth-child(1) {
    grid-column: 1;
    grid-row: 1;
    text-align: center;
    padding: 0.1rem 0.08rem 0;
    font-size: 0.66rem;
    line-height: 1.2;
  }
  #calc-plan-a .box0201-input-table tr.box0201-row--face td:nth-child(2) {
    grid-column: 1;
    grid-row: 2;
    padding: 0 0.06rem 0.08rem;
  }
  #calc-plan-a .box0201-input-table tr.box0201-row--face th:nth-child(3) {
    grid-column: 2;
    grid-row: 1;
    text-align: center;
    padding: 0.1rem 0.08rem 0;
    font-size: 0.66rem;
    line-height: 1.2;
  }
  #calc-plan-a .box0201-input-table tr.box0201-row--face td:nth-child(4) {
    grid-column: 2;
    grid-row: 2;
    padding: 0 0.06rem 0.08rem;
  }

  /* 瓦纸 1 / 瓦纸 2：克重、楞型、伸缩率 三列一行 */
  #calc-plan-a .box0201-input-table tr.box0201-row--flute1,
  #calc-plan-a .box0201-input-table tr.box0201-row--flute2 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 0.2rem;
    row-gap: 0.08rem;
    margin-bottom: 0;
    padding: 0.08rem 0.22rem;
    border-radius: 0;
    border: none;
    background: transparent;
    box-sizing: border-box;
  }
  #calc-plan-a .box0201-input-table tr.box0201-row--flute1 th,
  #calc-plan-a .box0201-input-table tr.box0201-row--flute1 td,
  #calc-plan-a .box0201-input-table tr.box0201-row--flute2 th,
  #calc-plan-a .box0201-input-table tr.box0201-row--flute2 td {
    display: block;
    width: 100%;
    border: none;
    box-sizing: border-box;
  }
  #calc-plan-a .box0201-input-table tr.box0201-row--flute1 th:nth-child(1),
  #calc-plan-a .box0201-input-table tr.box0201-row--flute2 th:nth-child(1) {
    grid-column: 1;
    grid-row: 1;
    text-align: center;
    padding: 0.1rem 0.06rem 0;
    font-size: 0.64rem;
    line-height: 1.2;
  }
  #calc-plan-a .box0201-input-table tr.box0201-row--flute1 td:nth-child(2),
  #calc-plan-a .box0201-input-table tr.box0201-row--flute2 td:nth-child(2) {
    grid-column: 1;
    grid-row: 2;
    padding: 0 0.06rem 0.08rem;
  }
  #calc-plan-a .box0201-input-table tr.box0201-row--flute1 th:nth-child(3),
  #calc-plan-a .box0201-input-table tr.box0201-row--flute2 th:nth-child(3) {
    grid-column: 2;
    grid-row: 1;
    text-align: center;
    padding: 0.1rem 0.06rem 0;
    font-size: 0.64rem;
    line-height: 1.2;
  }
  #calc-plan-a .box0201-input-table tr.box0201-row--flute1 td:nth-child(4),
  #calc-plan-a .box0201-input-table tr.box0201-row--flute2 td:nth-child(4) {
    grid-column: 2;
    grid-row: 2;
    padding: 0 0.06rem 0.08rem;
  }
  #calc-plan-a .box0201-input-table tr.box0201-row--flute1 th:nth-child(5),
  #calc-plan-a .box0201-input-table tr.box0201-row--flute2 th:nth-child(5) {
    grid-column: 3;
    grid-row: 1;
    text-align: center;
    padding: 0.1rem 0.06rem 0;
    font-size: 0.64rem;
    line-height: 1.2;
  }
  #calc-plan-a .box0201-input-table tr.box0201-row--flute1 td:nth-child(6),
  #calc-plan-a .box0201-input-table tr.box0201-row--flute2 td:nth-child(6) {
    grid-column: 3;
    grid-row: 2;
    padding: 0 0.06rem 0.08rem;
  }

  #calc-plan-a .mckee-calc-bar--box0201 {
    margin-top: 0.06rem;
    grid-template-columns: 1fr;
    gap: 0.1rem;
  }
  #calc-plan-a .mckee-calc-bar--box0201 #btnBox0201Calc {
    justify-self: stretch;
    width: 100%;
  }
  #calc-plan-a .box0201-result-table {
    font-size: 0.72rem;
  }
  #calc-plan-a .box0201-result-table th,
  #calc-plan-a .box0201-result-table td {
    padding: 0.22rem 0.28rem;
    word-break: break-word;
  }
  #calc-plan-a .box0201-layer-pick,
  #calc-plan-b .box0201-layer-pick, #calc-plan-c .box0201-layer-pick, #calc-kelike .box0201-layer-pick{
    margin: 0.03rem 0 0.24rem;
  }
  #calc-plan-a .box0201-layer-pick__face,
  #calc-plan-b .box0201-layer-pick__face, #calc-plan-c .box0201-layer-pick__face, #calc-kelike .box0201-layer-pick__face{
    min-height: 1.08rem;
    padding: 0.04rem 0.14rem;
    gap: 0.16rem;
  }
  #calc-plan-a .box0201-layer-pick__title,
  #calc-plan-b .box0201-layer-pick__title, #calc-plan-c .box0201-layer-pick__title, #calc-kelike .box0201-layer-pick__title{
    font-size: 0.72rem;
    line-height: 1.06;
  }
  #calc-plan-a .box0201-layer-pick__state,
  #calc-plan-b .box0201-layer-pick__state, #calc-plan-c .box0201-layer-pick__state, #calc-kelike .box0201-layer-pick__state{
    font-size: 0.48rem;
    line-height: 1.02;
  }

  #calc-plan-a .box0201-layer-pick__face {
    min-height: 1.52rem;
    padding: 0.12rem 0.18rem;
    gap: 0.2rem;
  }

  #calc-plan-a .box0201-layer-pick__title {
    font-size: 0.76rem;
    line-height: 1.12;
  }

  #calc-plan-a .box0201-layer-pick__state {
    font-size: 0.52rem;
    line-height: 1.08;
  }

  #calc-more-stack .box0201-layer-pick__face{
    min-height: 1.22rem;
    padding: 0.07rem 0.12rem;
    gap: 0.12rem;
  }
  #calc-more-stack .box0201-layer-pick__title{
    font-size: 0.74rem;
    line-height: 1.1;
  }
  #calc-more-stack .box0201-layer-pick__state{
    font-size: 0.46rem;
    line-height: 1;
  }
  #calc-plan-a .box0201-result-title {
    margin: 0.18rem 0 0.12rem;
    font-size: 0.8rem;
  }

  /* plan-d 异型箱：窄屏布局与 plan-a 同形（面积行 + 配材网格） */
  #calc-plan-d .mckee-calc-out-wrap:has(#outPland > .box0201-idle-hint:only-child) {
    display: none !important;
  }
  #calc-plan-d #outPland.out {
    margin-top: 0.28rem;
    padding: 0.38rem 0.42rem;
    font-size: 0.78rem;
  }
  #calc-plan-d .box0201-table-wrap {
    overflow-x: visible;
    margin: 0 0 0.08rem;
  }
  #calc-plan-d .box0201-input-table {
    min-width: 0;
    width: 100%;
    font-size: 0.76rem;
    border-collapse: separate;
    border-spacing: 0;
  }
  #calc-plan-d .box0201-input-table tbody {
    display: block;
    border: 1px solid var(--border);
    border-radius: 10px;
    overflow: hidden;
    background: rgba(250, 248, 245, 0.45);
  }
  #calc-plan-d .box0201-input-table tbody > tr {
    border-bottom: 1px solid var(--border);
  }
  #calc-plan-d .box0201-input-table tbody > tr:last-child {
    border-bottom: none;
  }
  #calc-plan-d .box0201-input-table .box0201-td-empty {
    display: none !important;
  }
  #calc-plan-d .box0201-input-table .box0201-th {
    letter-spacing: -0.05em;
    line-height: 1.22;
  }
  #calc-plan-d .box0201-input-table input[type='number'],
  #calc-plan-d .box0201-input-table select {
    min-height: 2.75rem;
    padding: 0.38rem 0.4rem;
    font-size: 0.84rem;
  }
  #calc-plan-d.box0201-mode-three .box0201-input-table tbody > tr.box0201-row--five-only {
    display: none !important;
  }
  #calc-plan-d .box0201-row--pland-col-sizer {
    display: none !important;
  }
  #calc-plan-d .box0201-th--pland-grid,
  #calc-plan-d .box0201-td--pland-grid {
    display: none !important;
  }
  #calc-plan-d .box0201-input-table tr.box0201-row--pland-area,
  #calc-plan-d .box0201-input-table tr.box0201-row--mid,
  #calc-plan-d .box0201-input-table tr.box0201-row--back {
    display: block;
    margin-bottom: 0;
    padding: 0.08rem 0.22rem;
    border-radius: 0;
    border: none;
    background: transparent;
    box-sizing: border-box;
  }
  #calc-plan-d .box0201-input-table tr.box0201-row--back {
    padding-bottom: 0.1rem;
  }
  #calc-plan-d .box0201-input-table tr.box0201-row--pland-area th,
  #calc-plan-d .box0201-input-table tr.box0201-row--pland-area td,
  #calc-plan-d .box0201-input-table tr.box0201-row--mid th,
  #calc-plan-d .box0201-input-table tr.box0201-row--mid td,
  #calc-plan-d .box0201-input-table tr.box0201-row--back th,
  #calc-plan-d .box0201-input-table tr.box0201-row--back td {
    display: block;
    width: 100%;
    box-sizing: border-box;
    border: none;
  }
  #calc-plan-d .box0201-input-table tr.box0201-row--pland-area th,
  #calc-plan-d .box0201-input-table tr.box0201-row--mid th,
  #calc-plan-d .box0201-input-table tr.box0201-row--back th {
    text-align: left;
    padding: 0.1rem 0.32rem 0;
  }
  #calc-plan-d .box0201-input-table tr.box0201-row--pland-area td,
  #calc-plan-d .box0201-input-table tr.box0201-row--mid td,
  #calc-plan-d .box0201-input-table tr.box0201-row--back td {
    padding: 0 0.32rem 0.1rem;
  }
  #calc-plan-d .box0201-input-table tr.box0201-row--face {
    display: grid;
    grid-template-columns: 1fr;
    column-gap: 0.22rem;
    row-gap: 0.08rem;
    margin-bottom: 0;
    padding: 0.08rem 0.22rem;
    border-radius: 0;
    border: none;
    background: transparent;
    box-sizing: border-box;
  }
  #calc-plan-d .box0201-input-table tr.box0201-row--face th,
  #calc-plan-d .box0201-input-table tr.box0201-row--face td {
    display: block;
    width: 100%;
    border: none;
    box-sizing: border-box;
  }
  #calc-plan-d .box0201-input-table tr.box0201-row--face th:nth-child(1) {
    grid-column: 1;
    grid-row: 1;
    text-align: center;
    padding: 0.1rem 0.08rem 0;
    font-size: 0.66rem;
    line-height: 1.2;
  }
  #calc-plan-d .box0201-input-table tr.box0201-row--face td:nth-child(2) {
    grid-column: 1;
    grid-row: 2;
    padding: 0 0.08rem 0.08rem;
  }
  #calc-plan-d .box0201-input-table tr.box0201-row--flute1,
  #calc-plan-d .box0201-input-table tr.box0201-row--flute2 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 0.12rem;
    row-gap: 0.08rem;
    margin-bottom: 0;
    padding: 0.08rem 0.22rem;
    border-radius: 0;
    border: none;
    background: transparent;
    box-sizing: border-box;
  }
  #calc-plan-d .box0201-input-table tr.box0201-row--flute1 th,
  #calc-plan-d .box0201-input-table tr.box0201-row--flute1 td,
  #calc-plan-d .box0201-input-table tr.box0201-row--flute2 th,
  #calc-plan-d .box0201-input-table tr.box0201-row--flute2 td {
    display: block;
    width: 100%;
    border: none;
    box-sizing: border-box;
  }
  #calc-plan-d .box0201-input-table tr.box0201-row--flute1 th:nth-child(1),
  #calc-plan-d .box0201-input-table tr.box0201-row--flute2 th:nth-child(1) {
    grid-column: 1;
    grid-row: 1;
    text-align: center;
    padding: 0.1rem 0.06rem 0;
    font-size: 0.64rem;
    line-height: 1.18;
  }
  #calc-plan-d .box0201-input-table tr.box0201-row--flute1 td:nth-child(2),
  #calc-plan-d .box0201-input-table tr.box0201-row--flute2 td:nth-child(2) {
    grid-column: 1;
    grid-row: 2;
    padding: 0 0.06rem 0.08rem;
  }
  #calc-plan-d .box0201-input-table tr.box0201-row--flute1 th:nth-child(3),
  #calc-plan-d .box0201-input-table tr.box0201-row--flute2 th:nth-child(3) {
    grid-column: 2;
    grid-row: 1;
    text-align: center;
    padding: 0.1rem 0.06rem 0;
    font-size: 0.64rem;
    line-height: 1.18;
  }
  #calc-plan-d .box0201-input-table tr.box0201-row--flute1 td:nth-child(4),
  #calc-plan-d .box0201-input-table tr.box0201-row--flute2 td:nth-child(4) {
    grid-column: 2;
    grid-row: 2;
    padding: 0 0.06rem 0.08rem;
  }
  #calc-plan-d .box0201-input-table tr.box0201-row--flute1 th:nth-child(5),
  #calc-plan-d .box0201-input-table tr.box0201-row--flute2 th:nth-child(5) {
    grid-column: 3;
    grid-row: 1;
    text-align: center;
    padding: 0.1rem 0.06rem 0;
    font-size: 0.64rem;
    line-height: 1.18;
  }
  #calc-plan-d .box0201-input-table tr.box0201-row--flute1 td:nth-child(6),
  #calc-plan-d .box0201-input-table tr.box0201-row--flute2 td:nth-child(6) {
    grid-column: 3;
    grid-row: 2;
    padding: 0 0.06rem 0.08rem;
  }
  #calc-plan-d .mckee-calc-bar--box0201 {
    margin-top: 0.06rem;
    grid-template-columns: 1fr;
    gap: 0.1rem;
  }
  #calc-plan-d .mckee-calc-bar--box0201 #btnPlandCalc {
    justify-self: stretch;
    width: 100%;
  }
  #calc-plan-d .box0201-result-table {
    font-size: 0.72rem;
  }
  #calc-plan-d .box0201-result-table th,
  #calc-plan-d .box0201-result-table td {
    padding: 0.22rem 0.28rem;
    word-break: break-word;
  }
  #calc-plan-d .box0201-layer-pick {
    margin: 0.03rem 0 0.24rem;
  }
  #calc-plan-d .box0201-layer-pick__face {
    min-height: 1.52rem;
    padding: 0.12rem 0.18rem;
    gap: 0.2rem;
  }
  #calc-plan-d .box0201-layer-pick__title {
    font-size: 0.76rem;
    line-height: 1.12;
  }
  #calc-plan-d .box0201-layer-pick__state {
    font-size: 0.52rem;
    line-height: 1.08;
  }
  #calc-plan-d .box0201-result-title {
    margin: 0.18rem 0 0.12rem;
    font-size: 0.8rem;
  }
}

.mckee-calc-out-wrap {
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.mckee-calc-out-wrap .out {
  margin: 0;
  flex: 1 1 auto;
  min-height: 0;
}
/* 尚无结果时，占位区域与「计算」按钮同高（由整行高度决定），并略作衬底 */
#calc-ect-bct .mckee-calc-out-wrap .out:empty {
  min-height: 100%;
  box-sizing: border-box;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: rgba(250, 248, 245, 0.55);
}
.mckee-preview-result {
  padding: 0.45rem 0.55rem;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: rgba(250, 248, 245, 0.85);
  font-size: 0.82rem;
  line-height: 1.45;
}
.mckee-preview-line {
  margin: 0 0 0.35rem;
  color: var(--ink);
}
.mckee-preview-line:last-of-type {
  margin-bottom: 0.25rem;
}
.mckee-preview-foot {
  margin: 0;
  font-size: 0.72rem;
  color: var(--ink-muted);
}
.mckee-result-table {
  margin-top: 0.5rem;
}
.mckee-result-title {
  margin: 0 0 0.45rem;
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--ink);
  text-align: center;
}
.mckee-result-grid {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.78rem;
  table-layout: fixed;
}
.mckee-result-grid th,
.mckee-result-grid td {
  border: 1px solid var(--border-strong);
  padding: 0.4rem 0.45rem;
  text-align: center;
  word-wrap: break-word;
}
.mckee-result-grid th {
  background: rgba(28, 25, 23, 0.04);
  font-weight: 600;
}
.mckee-result-grid td:first-child {
  text-align: left;
  color: var(--ink-muted);
  width: 42%;
}

.panel-hint {
  font-size: 0.78rem;
  color: var(--ink-muted);
  margin: 0 0 0.75rem;
}
.grid {
  display: grid;
  gap: 0.65rem 1rem;
  grid-template-columns: 1fr 1fr 1fr;
}
@media (max-width: 560px) {
  .grid { grid-template-columns: 1fr; }
}
label {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  font-size: 0.8rem;
  color: #5a534c;
}
input[type="number"] {
  width: 100%;
  padding: 0.45rem 0.55rem;
  border: 1px solid var(--border);
  border-radius: 8px;
  font-size: 1rem;
  background: #fff;
}
input:focus {
  outline: 2px solid var(--accent-soft);
  border-color: var(--accent);
}
.row-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.65rem 1rem;
  margin-top: 0.65rem;
}
#calc-bct-ect .gb6543-inputs {
  grid-template-columns: 1fr;
}
/* 与「已知边压计算抗压」输入区相近的字号：标签约 0.82rem，框内与占位更小 */
#calc-bct-ect .gb6543-inputs label {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--ink);
  gap: 0.28rem;
}
#calc-bct-ect .gb6543-inputs input[type='number'] {
  font-size: 0.92rem;
  padding: 0.5rem 0.65rem;
  border-radius: 12px;
  border-color: rgba(28, 25, 23, 0.14);
}
#calc-bct-ect .gb6543-inputs input[type='number']::placeholder {
  font-size: 0.65rem;
  color: var(--ink-muted);
  opacity: 1;
}
@media (min-width: 520px) {
  #calc-bct-ect .gb6543-inputs {
    grid-template-columns: 1fr 1fr;
  }
  #calc-bct-ect .gb6543-inputs label:last-child {
    grid-column: 1 / -1;
  }
}
@media (max-width: 560px) {
  #calc-bct-ect .gb6543-inputs label {
    font-size: 0.76rem;
  }
  #calc-bct-ect .gb6543-inputs input[type='number'] {
    font-size: 0.88rem;
  }
  #calc-bct-ect .gb6543-inputs input[type='number']::placeholder {
    font-size: 0.62rem;
  }
  /* 手机：计算与过程上下排，过程区占满宽，字距略收、略缩字号，减少公式断行 */
  #calc-bct-ect .mckee-calc-bar--gb6543 {
    grid-template-columns: 1fr;
    gap: 0.48rem;
  }
  #calc-bct-ect .mckee-calc-bar--gb6543 #btnGb6543Calc {
    justify-self: start;
  }
  #calc-bct-ect .mckee-calc-out-wrap {
    width: 100%;
    min-width: 0;
  }
  #calc-bct-ect .gb6543-process {
    margin-bottom: 0;
    padding: 0.42rem 0.48rem;
    font-size: 0.74rem;
    line-height: 1.42;
  }
  #calc-bct-ect .gb6543-process__title {
    font-size: 0.76rem;
    letter-spacing: -0.04em;
    margin-bottom: 0.28rem;
  }
  #calc-bct-ect .gb6543-process__line {
    font-size: 0.66rem;
    letter-spacing: -0.055em;
    line-height: 1.38;
  }
  #calc-bct-ect .gb6543-process__line--result {
    font-size: 0.72rem;
    letter-spacing: -0.045em;
  }
}
#calc-ect-bct .mckee-field-stack {
  margin: 0 0 0.5rem;
}
#calc-ect-bct .mckee-field-stack--board {
  margin-top: 0.5rem;
  margin-bottom: 0;
}
#calc-ect-bct .mckee-inline-field {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.5rem 0.75rem;
  margin: 0 0 0.55rem;
  width: 100%;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--ink);
}
#calc-ect-bct .mckee-inline-field:last-child {
  margin-bottom: 0;
}
#calc-ect-bct .mckee-inline-field__text {
  flex: 0 1 auto;
  max-width: 46%;
  min-width: 6.5rem;
  line-height: 1.3;
  color: var(--ink);
}
#calc-ect-bct .mckee-inline-field--ect .mckee-inline-field__text {
  white-space: nowrap;
  max-width: none;
  flex-shrink: 0;
}
#calc-ect-bct .mckee-inline-field__input {
  flex: 1;
  min-width: 0;
  width: auto;
  padding: 0.5rem 0.7rem;
  border: 1px solid rgba(28, 25, 23, 0.14);
  border-radius: 12px;
  font-size: 0.92rem;
  background: #fff;
  box-sizing: border-box;
}
#calc-ect-bct .mckee-inline-field__input:focus {
  outline: 2px solid var(--accent-soft);
  border-color: var(--accent);
}
#calc-ect-bct input.mckee-lwh-input::placeholder {
  font-size: 0.62rem;
  color: var(--ink-muted);
  opacity: 1;
}
#calc-ect-bct .mckee-field-stack--board .mckee-inline-field__input::placeholder {
  font-size: 0.65rem;
  color: var(--ink-muted);
  opacity: 1;
}
@media (max-width: 560px) {
  .row-2 { grid-template-columns: 1fr; }
  #calc-ect-bct .mckee-inline-field__text {
    max-width: 40%;
    min-width: 5.2rem;
    font-size: 0.76rem;
  }
  #calc-ect-bct .mckee-inline-field--ect .mckee-inline-field__text {
    max-width: none;
    white-space: nowrap;
    font-size: 0.7rem;
  }
}
.section-label {
  font-size: 0.72rem;
  color: #8a8175;
  margin: 0.85rem 0 0.4rem;
  font-weight: 600;
}
.section-label:first-child { margin-top: 0; }
.btn-line { margin-top: 0.5rem; }
.btn-mini {
  font-size: 0.72rem;
  padding: 0.25rem 0.5rem;
  border-radius: 6px;
  border: 1px solid var(--border);
  background: #fff;
  cursor: pointer;
  font-family: inherit;
  color: var(--accent);
}
.btn-mini:hover { background: var(--accent-soft); }
.calc-panel:not(.is-on) {
  display: none !important;
}

.calc-panel.is-on {
  display: block;
}
.io-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--border);
}
.out {
  margin-top: 1rem;
  padding: 0.75rem 0.85rem;
  background: #faf7f0;
  border: 1px solid var(--border);
  border-radius: 8px;
  font-size: 0.9rem;
  transition: box-shadow 0.25s ease, border-color 0.25s ease;
}
.out dl {
  margin: 0;
  display: grid;
  gap: 0.35rem 0.75rem;
  grid-template-columns: auto 1fr;
}
.out dt { color: #6b635a; font-weight: 500; }
.out dd { margin: 0; font-variant-numeric: tabular-nums; }
.out.muted {
  color: #8a8175;
  font-size: 0.82rem;
}
.out:not(.muted) {
  animation: outPop 0.35s ease both;
}
@keyframes outPop {
  from { opacity: 0.6; transform: scale(0.99); }
  to { opacity: 1; transform: scale(1); }
}

#calc-size .unit-conv-tabbar {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.28rem 0.32rem;
  margin-bottom: 0.4rem;
}
#calc-size .unit-conv-tab {
  margin: 0;
  padding: 0.36rem 0.2rem;
  font-size: 0.76rem;
  font-weight: 600;
  border: 1px solid var(--border-strong);
  border-radius: 8px;
  background: #fff;
  color: var(--ink-muted);
  cursor: pointer;
  font-family: inherit;
  line-height: 1.2;
  -webkit-tap-highlight-color: transparent;
}
#calc-size .unit-conv-tab.is-active {
  background: linear-gradient(180deg, rgba(180, 83, 9, 0.2) 0%, rgba(180, 83, 9, 0.07) 100%);
  border-color: rgba(180, 83, 9, 0.42);
  color: var(--accent-hover);
}
#calc-size .unit-conv-tab.is-done:not(.is-active) {
  background: linear-gradient(180deg, rgba(20, 83, 45, 0.14) 0%, rgba(20, 83, 45, 0.07) 100%);
  border-color: rgba(20, 83, 45, 0.38);
  color: #14532d;
  font-weight: 700;
}
#calc-size .unit-conv-tab.is-done.is-active {
  background: linear-gradient(180deg, rgba(180, 83, 9, 0.26) 0%, rgba(20, 83, 45, 0.12) 100%);
  border-color: rgba(180, 83, 9, 0.48);
  color: #7c2d12;
  box-shadow: inset 0 0 0 1px rgba(20, 83, 45, 0.2);
}
#calc-size .unit-conv-tab:focus-visible {
  outline: 2px solid var(--accent-soft);
  outline-offset: 1px;
}
#calc-size .unit-conv-panel-stack {
  min-height: 0;
}
#calc-size .unit-conv-card {
  margin-bottom: 0;
  border-radius: 12px;
  border: 1px solid var(--border-strong);
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.98) 0%, rgba(252, 249, 244, 0.96) 100%);
  box-shadow: 0 2px 14px rgba(28, 22, 18, 0.05);
  overflow: hidden;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}
#calc-size .unit-conv-card.is-conv-done {
  border-color: rgba(20, 83, 45, 0.45);
  box-shadow: 0 2px 16px rgba(20, 83, 45, 0.1);
  background: linear-gradient(145deg, rgba(240, 253, 244, 0.55) 0%, rgba(252, 249, 244, 0.98) 100%);
}
#calc-size .unit-conv-card-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.22rem;
  padding: 0.38rem 0.55rem 0.42rem;
  border-bottom: 1px solid rgba(28, 25, 23, 0.07);
  background: linear-gradient(180deg, rgba(180, 83, 9, 0.08) 0%, rgba(180, 83, 9, 0.02) 100%);
  text-align: center;
  min-width: 0;
  overflow-x: visible;
}
#calc-size .unit-conv-card-title {
  margin: 0;
  width: 100%;
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--accent);
  letter-spacing: 0.02em;
  line-height: 1.3;
  white-space: normal;
  text-align: center;
}
#calc-size .unit-conv-card-title::after {
  content: '：';
  font-weight: 700;
}
#calc-size .unit-conv-card-ref {
  margin: 0;
  width: 100%;
  min-width: 0;
  font-size: 0.66rem;
  color: var(--ink-muted);
  font-variant-numeric: tabular-nums;
  line-height: 1.35;
  white-space: normal;
  word-break: break-word;
  text-align: center;
}
#calc-size .unit-conv-body {
  display: flex;
  flex-direction: column;
  gap: 0.28rem;
  padding: 0.32rem 0.48rem 0.42rem;
}
.unit-conv-body {
  padding: 0.6rem 0.75rem 0.75rem;
}
#calc-size .unit-conv-inline-row {
  display: contents;
  margin-bottom: 0;
  gap: 0;
}
#calc-size .unit-conv-inline-row .unit-conv-mid {
  display: none;
}
#calc-size .unit-conv-input-row {
  order: 1;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.35rem 0.45rem;
  flex-wrap: nowrap;
  min-width: 0;
  width: 100%;
}
#calc-size .unit-conv-input-row .unit-conv-input {
  box-sizing: border-box;
  flex: 1.35 1 0;
  min-width: 0;
  max-width: none;
  height: 2.125rem;
  min-height: 0;
  max-height: 2.125rem;
  margin: 0;
  padding: 0.22rem 0.5rem;
  font-size: 1rem;
  line-height: 1.2;
  border-radius: 8px;
  -webkit-appearance: none;
  appearance: none;
}
#calc-size .unit-conv-copy-btn {
  flex: 1 1 0;
  min-width: 4.75rem;
  margin: 0;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.26rem 0.55rem;
  min-height: 2.125rem;
  max-height: 2.125rem;
  line-height: 1.15;
  white-space: nowrap;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
#calc-size .unit-conv-copy-btn:disabled {
  opacity: 0.48;
  cursor: not-allowed;
  pointer-events: none;
  box-shadow: none;
  transform: none;
}
#calc-size .unit-conv-actions-row {
  order: 2;
  margin: 0;
  gap: 0.28rem 0.45rem;
}
#calc-size .unit-conv-inline-row > .unit-conv-select-slot:nth-child(2) {
  order: 3;
}
#calc-size .unit-conv-inline-row > .unit-conv-select-slot:nth-child(4) {
  order: 4;
}
#calc-size .unit-conv-select-slot {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.24rem;
  width: 100%;
}
#calc-size .unit-conv-select-slot::before {
  content: attr(data-label);
  font-size: 0.66rem;
  font-weight: 700;
  color: var(--ink-muted);
  letter-spacing: 0.04em;
}
#calc-size .unit-conv-select--native {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
  opacity: 0;
  pointer-events: none;
}
#calc-size .unit-conv-seg {
  display: flex;
  flex-wrap: wrap;
  gap: 0.28rem;
  width: 100%;
  align-items: stretch;
}
#calc-size .unit-conv-seg-btn {
  flex: 1 1 auto;
  min-width: 2.6rem;
  margin: 0;
  padding: 0.34rem 0.32rem;
  font-family: inherit;
  font-size: 0.86rem;
  font-weight: 600;
  border: 1px solid var(--border-strong);
  border-radius: 9px;
  min-height: 2.32rem;
  background: #fff;
  color: var(--ink);
  cursor: pointer;
  line-height: 1.2;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
#calc-size .unit-conv-seg-btn.is-active {
  background: linear-gradient(180deg, rgba(180, 83, 9, 0.22) 0%, rgba(180, 83, 9, 0.08) 100%);
  border-color: rgba(180, 83, 9, 0.48);
  color: var(--accent-hover);
}
#calc-size .unit-conv-seg-btn:focus-visible {
  outline: 2px solid var(--accent-soft);
  outline-offset: 2px;
}
.unit-conv-inline-row {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.35rem 0.45rem;
  margin-bottom: 0.45rem;
  min-width: 0;
}
.unit-conv-inline-row .unit-conv-input {
  width: auto;
  flex: 0 1 5.5rem;
  min-width: 4rem;
  max-width: 7.5rem;
  margin: 0;
  padding: 0.45rem 0.5rem;
  font-size: 0.92rem;
}
.unit-conv-inline-row .unit-conv-select {
  flex: 1 1 0;
  min-width: 0;
}
.unit-conv-inline-row .unit-conv-mid {
  flex: 0 0 auto;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--ink-muted);
}
.unit-conv-actions-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem 0.6rem;
  min-width: 0;
}
.unit-conv-actions-row .unit-conv-result {
  margin: 0;
  flex: 1 1 6rem;
  min-width: 0;
  font-size: 0.8rem;
}
.unit-conv-select--dense {
  font-size: 0.74rem;
  padding: 0.42rem 0.28rem;
}
.unit-conv-input {
  width: 100%;
  box-sizing: border-box;
  margin: 0 0 0.65rem;
  padding: 0.55rem 0.65rem;
  font-size: 1rem;
  border: 1px solid var(--border-strong);
  border-radius: 10px;
  background: #fff;
}
.unit-conv-input:focus {
  outline: 2px solid var(--accent-soft);
  border-color: var(--accent);
}
.unit-conv-select-grid {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 0.45rem 0.55rem;
  align-items: center;
  margin-bottom: 0.65rem;
}
.unit-conv-select-grid--triple .unit-conv-select {
  font-size: 0.76rem;
}
.unit-conv-mid {
  font-size: 0.72rem;
  color: var(--ink-muted);
  text-align: center;
  white-space: nowrap;
}
.unit-conv-select {
  width: 100%;
  min-width: 0;
  padding: 0.48rem 0.35rem;
  border-radius: 8px;
  border: 1px solid var(--border-strong);
  background: #fff;
  font-size: 0.8rem;
  color: var(--ink);
}
.unit-conv-select:focus {
  outline: 2px solid var(--accent-soft);
  border-color: var(--accent);
}
#calc-size .unit-conv-btn {
  width: 100%;
  min-height: 2.75rem;
  margin: 0;
  font-size: 0.9rem;
  letter-spacing: 0.08em;
}
#calc-size .unit-conv-btn.unit-conv-btn--inline {
  width: auto;
  min-height: 2.12rem;
  padding: 0.32rem 0.75rem;
  font-size: 0.86rem;
  letter-spacing: 0.06em;
}
.unit-conv-result {
  margin: 0.65rem 0 0;
  min-height: 1.4em;
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--ink);
  font-family: ui-monospace, "Cascadia Mono", Consolas, monospace;
  font-variant-numeric: tabular-nums;
  line-height: 1.55;
  word-break: break-all;
}
#calc-size .unit-conv-result {
  margin-top: 0;
  min-height: 1.05em;
  font-size: 0.74rem;
  line-height: 1.45;
}
/* 换算结果：有内容时衬底与高对比字形，便于一眼看到 */
#calc-size .unit-conv-result:not(:empty) {
  align-self: center;
  padding: 0.5rem 0.7rem;
  border-radius: 10px;
  border: 1px solid rgba(180, 83, 9, 0.28);
  background: linear-gradient(145deg, rgba(255, 251, 235, 0.98) 0%, rgba(254, 215, 170, 0.45) 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
  font-family: "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  font-size: 0.84rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: #7c2d12;
  letter-spacing: 0.02em;
}
@media (max-width: 640px) {
  #calc-size .unit-conv-tabbar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.18rem 0.26rem;
    margin-bottom: 0.3rem;
  }
  #calc-size .unit-conv-tab {
    min-height: 2.42rem;
    padding: 0.3rem 0.32rem;
    font-size: 0.84rem;
    border-radius: 9px;
  }
  .unit-conv-select-grid {
    grid-template-columns: 1fr;
    gap: 0.4rem;
  }
  .unit-conv-mid {
    padding: 0.2rem 0;
  }
  /* 计算页（size）：压缩纵向间距；输入数字时「换算」紧挨输入框，避免被键盘挡住 */
  .page--layout .page-head--compact {
    margin-bottom: 0.32rem;
  }
  .page--layout .page-head--compact .brand-title {
    font-size: 1.08rem;
  }
  .page--layout .page-head--compact .brand-logo {
    height: 1.52rem;
    max-width: min(86vw, 10.5rem);
  }
  .io-section--size.block {
    padding: 0.82rem 0.62rem 0.52rem;
  }
  .io-section--size .theory-feature-name {
    margin-bottom: 0.18rem;
    font-size: 0.88rem;
  }
  .io-section--size .theory-title-row {
    margin-bottom: 0.2rem;
    padding-bottom: 0.26rem;
  }
  .io-section--size .theory-section-title--row {
    font-size: 0.8rem;
  }
  .io-section--size .io-hint-bubble {
    margin: -0.22rem 0 0.36rem;
    font-size: 0.66rem;
    line-height: 1.32;
    padding: 0.4rem 0.48rem;
  }
  .io-section--size .io-hint-trigger {
    width: 1.26rem;
    height: 1.26rem;
    min-width: 1.26rem;
    font-size: 0.7rem;
  }
  .io-section--gb6543 .io-hint-bubble {
    margin: -0.22rem 0 0.36rem;
    font-size: 0.66rem;
    line-height: 1.32;
    padding: 0.4rem 0.48rem;
  }
  .io-section--gb6543 .io-hint-trigger {
    width: 1.26rem;
    height: 1.26rem;
    min-width: 1.26rem;
    font-size: 0.7rem;
  }
  .io-section--box0201 .io-hint-bubble {
    margin: -0.08rem 0 0.16rem;
    font-size: 0.64rem;
    line-height: 1.28;
    padding: 0.28rem 0.34rem;
  }
  .io-section--box0201 .io-hint-trigger {
    width: 1.26rem;
    height: 1.26rem;
    min-width: 1.26rem;
    font-size: 0.7rem;
  }
  #ioSection.io-section--planb .io-hint-bubble {
    margin: -0.08rem 0 0.16rem;
    font-size: 0.64rem;
    line-height: 1.28;
    padding: 0.28rem 0.34rem;
  }
  #ioSection.io-section--planb .io-hint-trigger {
    width: 1.26rem;
    height: 1.26rem;
    min-width: 1.26rem;
    font-size: 0.7rem;
  }
  #ioSection.io-section--more-stack .io-hint-bubble {
    margin: -0.06rem 0 0.18rem;
    font-size: 0.62rem;
    line-height: 1.32;
    padding: 0.28rem 0.34rem;
    max-height: min(42vh, 12rem);
    overflow-y: auto;
  }
  #ioSection.io-section--more-stack .io-hint-trigger {
    width: 1.22rem;
    height: 1.22rem;
    min-width: 1.22rem;
    font-size: 0.68rem;
  }
  .io-section--size .io-actions--bar {
    margin-top: 0.26rem;
    padding-top: 0.32rem;
  }
  .io-section--size .io-actions--report-only .btn-report-main {
    min-height: 2.38rem;
    font-size: 0.84rem;
    padding-top: 0.45rem;
    padding-bottom: 0.45rem;
  }
  .io-section--size .io-corner-nav {
    top: calc(0.52rem + env(safe-area-inset-top, 0px));
    left: 0.56rem;
    right: 0.56rem;
    transform: translateY(-3px);
  }
  .io-section--size .io-corner-nav__tile {
    width: 2.58rem;
    height: 2.58rem;
    min-width: 2.58rem;
    min-height: 2.58rem;
    max-width: 2.58rem;
    max-height: 2.58rem;
    font-size: 0.58rem;
    padding: 0.14rem 0.08rem;
    border-radius: 7px;
  }
  #calc-size .unit-conv-card-head {
    padding: 0.26rem 0.42rem 0.28rem;
  }
  #calc-size .unit-conv-card-title {
    font-size: 0.74rem;
  }
  #calc-size .unit-conv-card-ref {
    font-size: 0.6rem;
    line-height: 1.28;
  }
  #calc-size .unit-conv-body {
    gap: 0.24rem;
    padding: 0.28rem 0.42rem 0.36rem;
  }
  #calc-size .unit-conv-copy-btn {
    font-size: 0.7rem;
    padding: 0.22rem 0.42rem;
  }
  #calc-size .unit-conv-actions-row {
    gap: 0.26rem 0.4rem;
  }
  #calc-size .unit-conv-result:not(:empty) {
    font-size: 0.78rem;
    padding: 0.42rem 0.55rem;
  }
}

/* 手机端报告下载：底部操作条（真实 <a download>，避免程序化点击被拦截） */
.report-save-sheet {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  max-width: 680px;
  margin: 0 auto;
  padding: 0.65rem 1rem calc(0.65rem + env(safe-area-inset-bottom, 0px));
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  align-items: stretch;
  background: linear-gradient(180deg, rgba(255, 252, 248, 0.98), #f5f0e8);
  border-top: 1px solid var(--border-strong);
  box-shadow: 0 -10px 40px rgba(28, 22, 18, 0.14);
  box-sizing: border-box;
}
.report-save-sheet-msg {
  margin: 0;
  font-size: 0.76rem;
  line-height: 1.45;
  color: var(--ink-muted);
  text-align: center;
}
.report-save-sheet-msg--note {
  font-size: 0.7rem;
  opacity: 0.92;
}
.report-save-sheet .report-save-sheet-link {
  text-decoration: none;
  text-align: center;
  width: 100%;
  box-sizing: border-box;
}
.report-save-sheet .report-save-sheet-open {
  width: 100%;
  box-sizing: border-box;
}
.report-save-sheet .report-save-sheet-dismiss {
  width: 100%;
  box-sizing: border-box;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  body.app::before {
    animation: none;
  }
  body.app--home {
    animation: none !important;
    background: linear-gradient(168deg, var(--bg-top) 0%, #f0ebe3 38%, var(--bg-bottom) 100%);
    background-size: auto;
  }
  body.app--home::before {
    animation: none !important;
    transform: none !important;
    opacity: 1;
  }
  body.app.app--home::after {
    display: none;
  }
  .brand-slogan,
  .box-auth-brand-slogan {
    opacity: 1 !important;
    animation: none !important;
    transform: none !important;
    background-position: 50% 50%;
    filter: none;
  }
  .page--home .brand-slogan {
    color: #92400e;
    -webkit-text-fill-color: #92400e;
    background: none;
  }
  .box-auth-brand-slogan {
    color: #fcd34d;
    -webkit-text-fill-color: #fcd34d;
    background: none;
  }
  .brand-line {
    animation: none;
    opacity: 0.9;
  }
}

/* Plan B 计算页：收紧页头与顶区，给表单更多纵向空间 */
.page.page--layout.page--calc-planb {
  padding-top: 0.28rem;
}

.page.page--layout.page--calc-planb .page-head--compact {
  margin-bottom: 0.12rem;
}

.page.page--layout.page--calc-planb .page-head--compact .sub {
  margin-top: 0.08rem;
}

.page.page--layout.page--calc-planb .page-head--compact .page-heading {
  margin-top: 0.08rem;
  margin-bottom: 0;
}

/* Plan C 计算页：收紧页头，给表单更多纵向空间 */
.page.page--layout.page--calc-planc {
  padding-top: 0.28rem;
}

.page.page--layout.page--calc-planc .page-head--compact {
  margin-bottom: 0.12rem;
}

.page.page--layout.page--calc-planc .page-head--compact .sub {
  margin-top: 0.08rem;
}

.page.page--layout.page--calc-planc .page-head--compact .page-heading {
  margin-top: 0.08rem;
  margin-bottom: 0;
}

.page.page--layout.page--calc-kelike {
  padding-top: 0.28rem;
}

.page.page--layout.page--calc-kelike .page-head--compact {
  margin-bottom: 0.12rem;
}

#ioSection.io-section--kelike.block {
  padding-top: 0.1rem;
  padding-bottom: 0.42rem;
}

/* —— plan-b 三层纸板 ECT/BST —— */
#ioSection.io-section--planb {
  background: linear-gradient(180deg, rgba(240, 255, 240, 0.55) 0%, rgba(250, 248, 245, 0.35) 100%);
}

/* Plan B：压缩顶区、「输入与计算」与首表之间的纵向空白 */
#ioSection.io-section--planb.block {
  padding-top: 0.32rem;
  /* 底部略加高：按钮区下留白稍增，避免主卡贴底过紧（勿过大） */
  padding-bottom: 0.92rem;
}

#ioSection.io-section--planb .io-corner-nav {
  top: 0.32rem;
}

@media (min-width: 721px) {
  /* Plan B 桌面：角块略放大便于辨认；左右留白与副标题防叠压同步 */
  #ioSection.io-section--planb .io-corner-nav {
    top: 0.24rem;
    left: 0.58rem;
    right: 0.58rem;
  }

  #ioSection.io-section--planb .io-corner-nav__tile {
    width: 2.95rem;
    height: 2.95rem;
    min-width: 2.95rem;
    min-height: 2.95rem;
    max-width: 2.95rem;
    max-height: 2.95rem;
    padding: 0.11rem 0.08rem;
    font-size: 0.72rem;
    line-height: 1.15;
    border-radius: 7px;
  }

  #ioSection.io-section--planb .theory-feature-name {
    padding-left: clamp(3.12rem, 3.2vw + 2.2rem, 6.4rem);
    padding-right: clamp(3.12rem, 3.2vw + 2.2rem, 6.4rem);
  }

  #ioSection.io-section--planb .theory-title-row {
    padding-left: clamp(3.12rem, 3.2vw + 2.2rem, 6.4rem);
    padding-right: clamp(3.12rem, 3.2vw + 2.2rem, 6.4rem);
  }
}

#ioSection.io-section--planb .theory-title-row {
  margin: 0 0 0.16rem;
  padding-bottom: 0.16rem;
}

#ioSection.io-section--planb .theory-feature-name {
  margin: 0 0 0.08rem;
  line-height: 1.12;
  font-size: 0.95rem;
}

#calc-plan-b .planb-wrap, #calc-plan-c .planb-wrap, #calc-kelike .planb-wrap{
  max-width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0.22rem;
}

/* 每层一块：标题 + 表格同色框内，五种纸色相区分（面蓝 / 瓦1琥珀 / 中紫 / 瓦2玫 / 里青） */
#calc-plan-b .planb-layer-card, #calc-plan-c .planb-layer-card, #calc-kelike .planb-layer-card{
  border-radius: 10px;
  padding: 0.14rem 0.32rem 0.16rem;
  margin-bottom: 0;
  box-sizing: border-box;
  border-width: 1px;
  border-style: solid;
  box-shadow: 0 1px 6px rgba(15, 23, 42, 0.06);
}

#calc-plan-b .planb-layer-card .planb-section-head, #calc-plan-c .planb-layer-card .planb-section-head, #calc-kelike .planb-layer-card .planb-section-head{
  margin: 0 0 0.04rem;
  padding-bottom: 0.05rem;
  border-bottom: 1px solid rgba(15, 23, 42, 0.07);
}

#calc-plan-b .planb-layer-card > .planb-form-table, #calc-plan-c .planb-layer-card > .planb-form-table, #calc-kelike .planb-layer-card > .planb-form-table{
  margin-bottom: 0;
  border: none;
  background: transparent;
  box-shadow: none;
}

#calc-plan-b .planb-layer-card.planb-layer--face, #calc-plan-c .planb-layer-card.planb-layer--face, #calc-kelike .planb-layer-card.planb-layer--face{
  background: linear-gradient(165deg, rgba(191, 219, 254, 0.55), rgba(239, 246, 255, 0.92));
  border-color: rgba(37, 99, 235, 0.42);
}

#calc-plan-b .planb-layer-card.planb-layer--flute1, #calc-plan-c .planb-layer-card.planb-layer--flute1, #calc-kelike .planb-layer-card.planb-layer--flute1{
  background: linear-gradient(165deg, rgba(253, 224, 71, 0.35), rgba(255, 251, 235, 0.94));
  border-color: rgba(217, 119, 6, 0.5);
}

#calc-plan-b .planb-layer-card.planb-layer--middle, #calc-plan-c .planb-layer-card.planb-layer--middle, #calc-kelike .planb-layer-card.planb-layer--middle{
  background: linear-gradient(165deg, rgba(196, 181, 253, 0.55), rgba(250, 245, 255, 0.94));
  border-color: rgba(109, 40, 217, 0.42);
}

#calc-plan-b .planb-layer-card.planb-layer--flute2, #calc-plan-c .planb-layer-card.planb-layer--flute2, #calc-kelike .planb-layer-card.planb-layer--flute2{
  background: linear-gradient(165deg, rgba(254, 205, 211, 0.48), rgba(255, 241, 242, 0.94));
  border-color: rgba(225, 29, 72, 0.38);
}

#calc-plan-b .planb-layer-card.planb-layer--liner, #calc-plan-c .planb-layer-card.planb-layer--liner, #calc-kelike .planb-layer-card.planb-layer--liner{
  background: linear-gradient(165deg, rgba(94, 234, 212, 0.42), rgba(236, 253, 245, 0.93));
  border-color: rgba(13, 148, 136, 0.44);
}

#calc-plan-b .planb-wrap > .planb-layer-card:first-of-type, #calc-plan-c .planb-wrap > .planb-layer-card:first-of-type, #calc-kelike .planb-wrap > .planb-layer-card:first-of-type{
  margin-top: 0;
}

/* 原纸库页：浅绿顶区；顶区整体上移、行高收紧；标题与「返回首页」同一行 */
.page--planb-lib.page--layout {
  padding-top: 0.38rem;
}

.page--planb-lib .page-head--compact {
  margin-bottom: 0.04rem;
}

/* 原纸库主卡片：去掉 .block 默认较大的上内边距，消除「包算通」与标题行之间空白带 */
.page--planb-lib .planb-library-card.planb-library-card--planb.block {
  padding-top: 0.12rem;
}

.planb-library-card.planb-library-card--planb.theory-card {
  position: relative;
  background: linear-gradient(180deg, rgba(240, 255, 240, 0.55) 0%, rgba(250, 248, 245, 0.35) 100%);
}

.planb-library-card.planb-library-card--planb .planb-lib-title-row {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  column-gap: 0.35rem;
  padding: 0 max(0.45rem, env(safe-area-inset-left, 0px)) 0 max(0.45rem, env(safe-area-inset-right, 0px));
  margin: 0;
  flex-shrink: 0;
  box-sizing: border-box;
  min-height: 2.05rem;
  overflow: visible;
}

.planb-library-card.planb-library-card--planb .planb-lib-title-row .planb-lib-feature-name {
  grid-column: 2;
  margin: 0;
  padding: 0;
  transform: translateY(-0.04rem);
  line-height: 1.12;
  font-size: 0.95rem;
  box-sizing: border-box;
}

.planb-library-card.planb-library-card--planb .planb-lib-title-row__side--btn {
  position: absolute;
  top: 0.48rem;
  right: max(0.45rem, env(safe-area-inset-right, 0px));
  z-index: 3;
  display: block;
  min-width: 0;
  overflow: visible;
  pointer-events: none;
}

.planb-library-card.planb-library-card--planb .planb-lib-title-row__side--btn .planb-lib-back-home {
  pointer-events: auto;
}

.planb-library-card.planb-library-card--planb .planb-lib-title-row .planb-lib-back-home {
  flex: 0 0 auto;
  box-sizing: border-box;
  width: 3.15rem;
  height: 3.15rem;
  min-width: 3.15rem;
  min-height: 3.15rem;
  max-width: 3.15rem;
  max-height: 3.15rem;
  margin: 0;
  padding: 0.14rem 0.1rem;
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1.12;
  white-space: normal;
  word-break: keep-all;
  text-align: center;
  border-radius: 9px;
  border-width: 1px;
  border-style: solid;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 1px 4px rgba(4, 120, 87, 0.12);
  background: linear-gradient(165deg, #ecfdf5 0%, #d1fae5 52%, #a7f3d0 100%);
  border-color: rgba(4, 120, 87, 0.42);
  color: #047857;
}

.planb-library-card.planb-library-card--planb .planb-lib-title-row .planb-lib-back-home:hover {
  background: linear-gradient(165deg, #f0fdf4 0%, #dcfce7 48%, #86efac 100%);
  border-color: rgba(4, 120, 87, 0.55);
  color: #065f46;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(4, 120, 87, 0.16);
}

.planb-library-card.planb-library-card--planb .planb-lib-title-row .planb-lib-back-home:focus-visible {
  outline: 2px solid var(--accent-soft);
  outline-offset: 2px;
}

.planb-library-card.block--flex > .scroll-panel {
  flex: 1 1 auto;
  min-height: 0;
}

/* 标题行仅占一行高；主内容与「原纸库」标题留出间距（返回首页为绝对定位，不受影响） */
.planb-library-card.planb-library-card--planb > .scroll-panel {
  margin-top: 0;
}

#planb-library-root {
  padding-top: 0.58rem;
}

.planb-lib-builtin-section {
  margin-bottom: 0.5rem;
  margin-top: 0;
}

.planb-lib-region-title {
  font-size: 0.95rem;
  font-weight: 700;
  color: #1e3a2f;
  margin: 0 0 0.2rem;
}

.planb-lib-region-head {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  flex-wrap: wrap;
  margin: 0 0 0.18rem;
}

.planb-lib-region-head .planb-lib-region-title {
  margin: 0;
}

/* 自建原纸库：左侧标题+?，下载链贴行最右；链高度与 ?（1.42rem）一致，不顶高整行 */
.planb-lib-region-head--mine {
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  box-sizing: border-box;
  min-height: 0;
  gap: 0.35rem;
}

#planb-library-root .planb-lib-region-head__lead {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
  flex: 0 1 auto;
}

#planb-library-root .planb-lib-region-head__lead .planb-lib-region-title {
  line-height: 1.25;
}

#planb-library-root .planb-lib-region-head--mine .planb-lib-head-template-dl.planb-lib-mine-xlsx-dl {
  flex: 0 1 auto;
  min-width: 0;
  max-width: min(18rem, calc(100% - 5.5rem));
  height: 1.42rem;
  min-height: 1.42rem;
  max-height: 1.42rem;
  margin: 0;
  padding: 0 0.42rem;
  font-size: 0.62rem;
  font-weight: 600;
  line-height: 1.42rem;
  border-radius: 6px;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  box-shadow: 0 1px 2px rgba(37, 99, 235, 0.14);
}

.planb-lib-help-btn {
  flex-shrink: 0;
  width: 1.42rem;
  height: 1.42rem;
  padding: 0;
  margin: 0;
  border: 1px solid #c4b8a8;
  border-radius: 999px;
  background: #faf8f4;
  color: #57534e;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.planb-lib-help-btn:hover,
.planb-lib-help-btn:focus-visible {
  background: #fff;
  border-color: #a89f8f;
  color: #1e3a2f;
  outline: none;
}

.planb-lib-help-btn:focus-visible {
  box-shadow: 0 0 0 2px rgba(30, 58, 47, 0.25);
}

.planb-lib-help-panel {
  margin: 0 0 0.32rem;
  padding: 0.38rem 0.55rem;
  border-radius: 8px;
  background: #f5f2eb;
  border: 1px solid #e7e0d4;
  font-size: 0.74rem;
  line-height: 1.5;
  color: #57534e;
  box-sizing: border-box;
}

.planb-lib-help-panel p {
  margin: 0;
}

.planb-lib-help-panel strong {
  color: #1e3a2f;
}

#planbUserHelpPanel.planb-lib-help-panel--mine-user > p {
  margin: 0 0 0.38rem;
}

#planbUserHelpPanel.planb-lib-help-panel--mine-user > p:last-child {
  margin-bottom: 0;
}

#planbUserHelpPanel.planb-lib-help-panel--mine-user ol,
#planbUserHelpPanel.planb-lib-help-panel--mine-user ul {
  margin: 0 0 0.42rem;
  padding-left: 1.2rem;
}

#planbUserHelpPanel.planb-lib-help-panel--mine-user li {
  margin-bottom: 0.2rem;
}

#planbUserHelpPanel.planb-lib-help-panel--mine-user li:last-child {
  margin-bottom: 0;
}

.planb-lib-region-lead {
  margin: 0 0 0.6rem;
  font-size: 0.74rem;
  line-height: 1.5;
  color: #57534e;
}

.planb-lib-builtin-tiles {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.12rem;
  width: 100%;
  box-sizing: border-box;
}

.planb-lib-builtin-tiles > .planb-lib-disclosure {
  margin-bottom: 0;
  flex: none;
  width: 100%;
  min-width: 0;
  max-width: none;
  box-sizing: border-box;
  border-radius: 6px;
}

/* 三行纵向：摘要行；标题靠近三角，右侧为面/瓦/中/里勾选 */
.planb-lib-builtin-tiles .planb-lib-disclosure summary {
  display: flex;
  align-items: center;
  gap: 0.12rem;
  font-size: 0.8rem;
  min-height: 2.08rem;
  padding: 0.22rem 0.38rem 0.22rem 0.3rem;
  line-height: 1.22;
  box-sizing: border-box;
}

.planb-lib-summary-row {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.35rem;
  min-width: 0;
}

.planb-lib-summary-title {
  flex: 1;
  min-width: 0;
  text-align: left;
  font-weight: inherit;
}

.planb-lib-disclosure-role-bar {
  flex-shrink: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.08rem 0.28rem;
  max-width: min(100%, 11.2rem);
}

.planb-lib-role-chk {
  display: inline-flex;
  align-items: center;
  gap: 0.08rem;
  margin: 0;
  font-size: 0.58rem;
  font-weight: 700;
  white-space: nowrap;
  cursor: default;
  color: inherit;
  -webkit-tap-highlight-color: transparent;
}

.planb-lib-role-chk input {
  width: 0.82rem;
  height: 0.82rem;
  margin: 0;
  flex-shrink: 0;
  accent-color: #15803d;
}

.planb-lib-role-chk input:disabled {
  opacity: 0.92;
  cursor: not-allowed;
}

.planb-lib-disclosure--paper .planb-lib-role-chk input {
  accent-color: #b45309;
}

.planb-lib-disclosure--cor .planb-lib-role-chk input {
  accent-color: #c2410c;
}

.planb-lib-disclosure--liner .planb-lib-role-chk input {
  accent-color: #0284c7;
}

.planb-lib-builtin-tiles .planb-lib-disclosure summary::before {
  margin-top: 0;
}

.planb-lib-disclosure {
  border: 1px solid var(--border);
  border-radius: 10px;
  margin-bottom: 0.5rem;
  background: rgba(255, 255, 255, 0.82);
}

.planb-lib-disclosure--paper {
  background: linear-gradient(165deg, #fffbeb 0%, #fef3c7 45%, #fde68a 100%);
  border-color: rgba(180, 83, 9, 0.38);
}

.planb-lib-disclosure--cor {
  background: linear-gradient(165deg, #fff7ed 0%, #ffedd5 45%, #fdba74 100%);
  border-color: rgba(194, 65, 12, 0.38);
}

.planb-lib-disclosure--liner {
  background: linear-gradient(165deg, #f0f9ff 0%, #e0f2fe 45%, #bae6fd 100%);
  border-color: rgba(3, 105, 161, 0.38);
}

.planb-lib-disclosure[open] {
  box-shadow: 0 2px 10px rgba(30, 58, 47, 0.1);
}

.planb-lib-disclosure summary {
  cursor: pointer;
  list-style: none;
  padding: 0.55rem 0.7rem;
  font-weight: 700;
  font-size: 0.84rem;
  color: #166534;
  user-select: none;
  white-space: normal;
  word-break: break-word;
  line-height: 1.4;
}

.planb-lib-disclosure--paper summary {
  color: #92400e;
}

.planb-lib-disclosure--cor summary {
  color: #9a3412;
}

.planb-lib-disclosure--liner summary {
  color: #0369a1;
}

.planb-lib-disclosure summary::-webkit-details-marker {
  display: none;
}

.planb-lib-disclosure summary::before {
  content: '▸';
  display: inline-block;
  flex-shrink: 0;
  width: 0.95em;
  margin-top: 0.08em;
  line-height: 1;
  transition: transform 0.15s ease;
  color: #15803d;
}

.planb-lib-disclosure--paper summary::before {
  color: #b45309;
}

.planb-lib-disclosure--cor summary::before {
  color: #c2410c;
}

.planb-lib-disclosure--liner summary::before {
  color: #0284c7;
}

.planb-lib-disclosure[open] summary::before {
  transform: rotate(90deg);
}

.planb-lib-disclosure .planb-lib-builtin-wrap {
  margin: 0 0.45rem 0.38rem;
  padding-bottom: 0.08rem;
}

.planb-lib-inline-note {
  margin: 0 0.65rem 0.4rem;
  padding: 0 0.15rem;
  font-size: 0.72rem;
  line-height: 1.45;
  color: #57534e;
}

.planb-lib-user-section {
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  padding-top: 0.42rem;
  margin-top: 0.02rem;
}

.planb-lib-user-card {
  margin-bottom: 0.55rem;
  padding: 0.38rem 0.5rem;
  background: rgba(255, 253, 248, 0.9);
  border: 1px solid var(--border);
  border-radius: 10px;
}

.is-hidden {
  display: none !important;
}

.planb-mine-lib-list {
  margin: 0.15rem 0 0.42rem;
  padding: 0.2rem 0.2rem;
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  background: rgba(255, 253, 248, 0.5);
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 10px;
  font-size: 0.78rem;
  box-sizing: border-box;
}

.planb-mine-lib-empty {
  margin: 0.2rem 0;
}

/* 自建库条目：外观参考内置原纸库色条 + 底部三按钮 */
.planb-mine-lib-card {
  border-radius: 10px;
  border: 1px solid var(--border);
  overflow: hidden;
  background: rgba(255, 255, 255, 0.82);
}

.planb-mine-lib-card--tone0 {
  background: linear-gradient(165deg, #fffbeb 0%, #fef3c7 42%, #fde68a 100%);
  border-color: rgba(180, 83, 9, 0.38);
}

.planb-mine-lib-card--tone1 {
  background: linear-gradient(165deg, #fff7ed 0%, #ffedd5 42%, #fdba74 100%);
  border-color: rgba(194, 65, 12, 0.38);
}

.planb-mine-lib-card--tone2 {
  background: linear-gradient(165deg, #f0f9ff 0%, #e0f2fe 42%, #bae6fd 100%);
  border-color: rgba(3, 105, 161, 0.38);
}

.planb-mine-lib-summary {
  display: flex;
  align-items: center;
  gap: 0.2rem 0.35rem;
  min-height: 2.05rem;
  padding: 0.22rem 0.38rem 0.22rem 0.3rem;
  box-sizing: border-box;
  flex-wrap: wrap;
}

.planb-mine-lib-chev {
  display: inline-block;
  flex-shrink: 0;
  width: 0.95em;
  line-height: 1;
  font-size: 0.82rem;
  transition: transform 0.15s ease;
  color: #15803d;
}

.planb-mine-lib-card--tone0 .planb-mine-lib-chev {
  color: #b45309;
}

.planb-mine-lib-card--tone1 .planb-mine-lib-chev {
  color: #c2410c;
}

.planb-mine-lib-card--tone2 .planb-mine-lib-chev {
  color: #0284c7;
}

.planb-mine-lib-card--open .planb-mine-lib-chev {
  transform: rotate(90deg);
}

.planb-mine-lib-title {
  flex: 1 1 5rem;
  min-width: 0;
  font-weight: 700;
  font-size: 0.84rem;
  word-break: break-word;
  color: #1e3a2f;
}

.planb-mine-lib-card--tone0 .planb-mine-lib-title {
  color: #92400e;
}

.planb-mine-lib-card--tone1 .planb-mine-lib-title {
  color: #9a3412;
}

.planb-mine-lib-card--tone2 .planb-mine-lib-title {
  color: #0369a1;
}

.planb-mine-lib-role-bar {
  flex-shrink: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.08rem 0.22rem;
  max-width: min(100%, 15rem);
}

.planb-lib-role-chk--mine {
  font-size: 0.58rem;
}

.planb-mine-lib-panel {
  padding: 0.12rem 0.45rem 0.28rem;
  border-top: 1px dashed rgba(0, 0, 0, 0.1);
  background: rgba(255, 255, 255, 0.35);
}

.planb-mine-lib-panel-empty {
  margin: 0.2rem 0 0.12rem;
  font-size: 0.72rem;
  line-height: 1.45;
}

.planb-mine-lib-entries-wrap {
  margin: 0.08rem 0 0;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.planb-mine-lib-entries-table {
  font-size: 0.68rem;
  min-width: 100%;
}

.planb-mine-lib-actions-row {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 0.28rem;
  padding: 0.28rem 0.38rem 0.32rem;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  background: rgba(255, 255, 255, 0.45);
}

.planb-mine-act {
  flex: 1 1 0;
  min-width: 0;
  margin: 0;
  padding: 0.3rem 0.28rem;
  border-radius: 8px;
  font-size: 0.72rem;
  font-weight: 700;
  cursor: pointer;
  border: 1px solid transparent;
  white-space: nowrap;
  text-align: center;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

.planb-mine-act:focus-visible {
  outline: 2px solid rgba(30, 58, 47, 0.35);
  outline-offset: 1px;
}

.planb-mine-act--edit {
  background: linear-gradient(180deg, #e0f2fe 0%, #bae6fd 100%);
  border-color: #38bdf8;
  color: #075985;
}

.planb-mine-act--edit:hover {
  filter: brightness(1.03);
}

.planb-mine-act--edit-active {
  background: linear-gradient(180deg, #fef3c7 0%, #fde68a 100%);
  border-color: #d97706;
  color: #78350f;
  cursor: default;
}

.planb-mine-act--edit-active:hover {
  filter: none;
}

.planb-mine-act--del {
  background: linear-gradient(180deg, #fef2f2 0%, #fecaca 100%);
  border-color: #f87171;
  color: #991b1b;
}

.planb-mine-act--del:hover {
  filter: brightness(1.03);
}

.planb-mine-act--tog {
  background: linear-gradient(180deg, #ecfdf5 0%, #bbf7d0 100%);
  border-color: #4ade80;
  color: #14532d;
}

.planb-mine-act--tog:hover {
  filter: brightness(1.03);
}

.planb-mine-lib-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.5rem;
  padding: 0.35rem 0.25rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.planb-mine-lib-row:last-child {
  border-bottom: none;
}

.planb-mine-lib-name {
  font-weight: 700;
  color: #292524;
  flex: 1 1 6rem;
}

.planb-mine-lib-badge {
  font-size: 0.72rem;
  color: #57534e;
  flex: 1 1 8rem;
}

.planb-mine-lib-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

#planb-library-root .planb-lib-crud-row--mine-new {
  align-items: center;
}

#planb-library-root .planb-lib-crud-row--mine-upload {
  align-items: stretch;
  margin-top: 0.12rem;
  margin-bottom: 0.12rem;
}

#planb-library-root .planb-lib-mine-upload-actions {
  display: flex;
  flex-direction: row;
  width: 100%;
  min-width: 0;
  gap: 0.4rem;
  align-items: stretch;
  box-sizing: border-box;
}

#planb-library-root .planb-lib-mine-new-start {
  flex: 1 1 50%;
  min-width: 0;
  box-sizing: border-box;
  border-radius: 12px;
  padding: 0.52rem 0.55rem;
  font-size: 0.84rem;
  font-weight: 600;
  line-height: 1.25;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: calc(0.52rem * 2 + 0.84rem * 1.25 + 2px);
  background: linear-gradient(180deg, #ede9fe 0%, #ddd6fe 100%);
  color: #5b21b6;
  border: 1px solid rgba(109, 40, 217, 0.38);
  box-shadow: 0 2px 8px rgba(109, 40, 217, 0.12);
}

#planb-library-root .planb-lib-mine-new-start:disabled {
  opacity: 0.52;
  cursor: not-allowed;
  filter: grayscale(0.25);
  box-shadow: none;
}

#planb-library-root .planb-lib-mine-new-start:hover:not(:disabled) {
  filter: brightness(1.03);
  border-color: rgba(91, 33, 182, 0.52);
}

#planb-library-root .planb-lib-mine-xlsx-pair--upload-half {
  flex: 1 1 50%;
  min-width: 0;
  position: relative;
  display: flex;
  box-sizing: border-box;
}

#planb-library-root .planb-lib-mine-xlsx-pair--upload-half > .btn {
  width: 100%;
  flex: 1 1 auto;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.25;
  text-align: center;
  padding: 0.52rem 0.55rem;
  font-size: 0.84rem;
  font-weight: 600;
  min-height: calc(0.52rem * 2 + 0.84rem * 1.25 + 2px);
  box-sizing: border-box;
  border-radius: 12px;
}

#planb-library-root .planb-lib-mine-xlsx-pair--upload-half > .btn:disabled {
  opacity: 0.52;
  cursor: not-allowed;
  filter: grayscale(0.2);
  box-shadow: none;
}

#planb-library-root .planb-lib-mine-xlsx-pair--upload-half > input.visually-hidden {
  position: absolute;
  width: 0;
  height: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  left: 0;
  top: 0;
}

#planb-library-root .planb-lib-crud-row--mine-new.is-planb-new-lib-locked {
  opacity: 0.72;
}

#planb-library-root .planb-lib-crud-row--mine-confirm {
  align-items: stretch;
  margin-top: 0;
  margin-bottom: 0.32rem;
}

#planb-library-root .planb-lib-mine-primary-pair {
  display: flex;
  flex-direction: row;
  width: 100%;
  min-width: 0;
  gap: 0.45rem;
  box-sizing: border-box;
}

#planb-library-root .planb-lib-mine-primary-pair .btn {
  flex: 1 1 50%;
  min-width: 0;
  box-sizing: border-box;
  border-radius: 12px;
  padding: 0.52rem 0.55rem;
  font-size: 0.84rem;
  font-weight: 600;
}

#planb-library-root .planb-lib-mine-primary-cancel {
  background: linear-gradient(180deg, #64748b 0%, #475569 100%);
  color: #f8fafc;
  border: 1px solid rgba(15, 23, 42, 0.22);
  box-shadow: 0 2px 8px rgba(51, 65, 85, 0.22);
}

#planb-library-root .planb-lib-mine-primary-cancel:hover {
  filter: brightness(1.07);
  box-shadow: 0 3px 12px rgba(51, 65, 85, 0.28);
}

#planb-library-root .planb-lib-library-xlsx-row {
  align-items: stretch;
  margin-top: 0.12rem;
}

#planb-library-root .planb-lib-mine-xlsx-pair {
  display: flex;
  flex-direction: row;
  width: 100%;
  min-width: 0;
  gap: 0.5rem;
  box-sizing: border-box;
}

#planb-library-root .planb-lib-mine-xlsx-pair > .btn {
  flex: 1 1 50%;
  min-width: 0;
  box-sizing: border-box;
  border-radius: 16px;
  padding: 0.62rem 0.75rem;
  font-size: 0.88rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.25;
}

#planb-library-root .planb-lib-mine-xlsx-dl {
  background: linear-gradient(180deg, #dbeafe 0%, #bfdbfe 100%);
  color: #1e3a8a;
  border: 1px solid rgba(37, 99, 235, 0.38);
  box-shadow: 0 2px 10px rgba(37, 99, 235, 0.14);
  text-decoration: none;
}

#planb-library-root .planb-lib-mine-xlsx-dl:hover {
  filter: brightness(1.04);
  border-color: rgba(37, 99, 235, 0.5);
}

#planb-library-root .planb-lib-mine-xlsx-ul {
  background: linear-gradient(180deg, #a7f3d0 0%, #34d399 100%);
  color: #064e3b;
  border: 1px solid rgba(5, 150, 105, 0.42);
  box-shadow: 0 2px 10px rgba(16, 185, 129, 0.18);
}

#planb-library-root .planb-lib-mine-xlsx-ul:hover:not(:disabled) {
  filter: brightness(1.05);
  border-color: rgba(5, 150, 105, 0.55);
}

#planbLibDownloadTemplate.planb-lib-dl-tpl-pending {
  pointer-events: none;
  opacity: 0.62;
  cursor: wait;
}

.planb-new-lib-roles {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.55rem;
  padding: 0.15rem 0;
}

.planb-lib-user-card--unified {
  margin-bottom: 0;
}

#planb-library-root .planb-lib-crud-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.38rem 0.5rem;
  margin-bottom: 0.28rem;
}

#planb-library-root .planb-lib-crud-field {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 7rem;
  font-size: 0.7rem;
  font-weight: 600;
  color: #44403c;
}

#planb-library-root .planb-lib-crud-field--grow {
  flex: 1 1 10rem;
}

#planb-library-root .planb-lib-crud-field select,
#planb-library-root .planb-lib-crud-field input {
  box-sizing: border-box;
  padding: 0.32rem 0.35rem;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 0.76rem;
  width: 100%;
}

.planb-lib-import-details {
  margin-top: 0.75rem;
  padding-top: 0.55rem;
  border-top: 1px dashed rgba(0, 0, 0, 0.1);
  font-size: 0.78rem;
}

.planb-lib-import-details summary {
  cursor: pointer;
  font-weight: 700;
  color: #334155;
  list-style-position: outside;
}

.planb-lib-import-hint {
  margin: 0.35rem 0 0.45rem;
  color: #57534e;
  line-height: 1.45;
}

.planb-lib-import-row {
  margin-top: 0.15rem;
}

#planb-library-root .planb-lib-builtin-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
  margin: 0.35rem 0 0.5rem;
}

.planb-lib-subcard-title {
  margin: 0 0 0.4rem;
  font-size: 0.82rem;
  font-weight: 700;
  color: #334155;
}

#planb-library-root .planb-lib-subcard-head {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0.22rem;
  justify-content: flex-start;
  margin: 0 0 0.28rem;
}

#planb-library-root .planb-lib-subcard-head .planb-lib-subcard-title {
  margin: 0;
  flex: 0 0 auto;
}

#planb-library-root .planb-mine-desc--tight {
  margin-top: -0.15rem;
  margin-bottom: 0.35rem;
}

.planb-lib-del-btn {
  min-width: 5rem;
}

#planb-library-root .planb-section-title,
.planb-library-card .planb-section-title {
  font-size: 0.88rem;
  font-weight: 700;
  color: #334155;
  margin: 0.85rem 0 0.35rem;
}

#planb-library-root .planb-lib-h3 {
  margin-top: 1rem;
}

.planb-lib-note {
  margin: 0.35rem 0 0.5rem;
  font-size: 0.74rem;
  line-height: 1.45;
  color: #57534e;
}

.planb-lib-builtin-wrap {
  overflow-x: auto;
  margin-bottom: 0.35rem;
}

.planb-lib-builtin-table {
  width: 100%;
  min-width: 520px;
  border-collapse: collapse;
  font-size: 0.72rem;
  background: rgba(249, 249, 249, 0.95);
  border: 1px solid var(--border);
  border-radius: 8px;
  overflow: hidden;
}

.planb-lib-builtin-table th,
.planb-lib-builtin-table td {
  border: 1px solid #ddd;
  padding: 0.3rem 0.35rem;
  text-align: center;
}

.planb-lib-builtin-table th {
  background: rgba(144, 238, 144, 0.45);
  font-weight: 600;
}

.planb-lib-builtin-table tbody tr:nth-child(odd) td {
  background: rgba(255, 255, 252, 0.98);
}

.planb-lib-builtin-table tbody tr:nth-child(even) td {
  background: rgba(214, 236, 225, 0.62);
}

/* 六列表：耐破/环压表头三行（与 <br> 一致），单位整段不换行；数值格不换行；颜色列收窄 */
.planb-lib-builtin-table .planb-lib-th-unit {
  display: inline-block;
  white-space: nowrap;
}

.planb-lib-builtin-table th:nth-child(4),
.planb-lib-builtin-table th:nth-child(5) {
  min-width: 3.5rem;
  white-space: normal;
  line-height: 1.22;
}

.planb-lib-builtin-table td:nth-child(4),
.planb-lib-builtin-table td:nth-child(5) {
  white-space: nowrap;
}

.planb-lib-builtin-table th:nth-child(6),
.planb-lib-builtin-table td:nth-child(6) {
  width: 2.35rem;
  min-width: 2rem;
  max-width: 2.85rem;
  padding-left: 0.12rem;
  padding-right: 0.12rem;
  box-sizing: border-box;
}

/* 原纸库页：窄屏下内置六列表压缩换行；纵向三行后表格与卡片同宽，不再做视口拉满 */
@media (max-width: 720px) {
  .page--planb-lib.page--layout {
    overflow-x: visible;
    padding-top: 0.12rem;
  }

  .planb-library-card.planb-library-card--planb.block {
    overflow-x: visible;
    padding: 0.48rem 0.58rem 0.65rem;
  }

  .planb-library-card > .scroll-panel {
    overflow-x: visible;
  }

  /* 原纸库手机：红框区纵向压缩（顶—内置—自建条目—新建/编辑） */
  .page--planb-lib .page-head--compact {
    margin-bottom: 0;
  }

  .page--planb-lib .page-head--compact .brand-row {
    gap: 0.28rem;
  }

  .page--planb-lib .page-head--compact .brand-title {
    font-size: 1.02rem;
  }

  .planb-library-card.planb-library-card--planb .planb-lib-title-row {
    min-height: 1.72rem;
    padding-bottom: 0;
  }

  .planb-library-card.planb-library-card--planb .planb-lib-title-row__side--btn {
    top: 0.4rem;
  }

  .planb-library-card.planb-library-card--planb > .scroll-panel {
    margin-top: 0;
  }

  .planb-library-card.planb-library-card--planb .planb-lib-title-row .planb-lib-feature-name {
    font-size: 0.88rem;
    line-height: 1.08;
  }

  .planb-library-card.planb-library-card--planb .planb-lib-title-row .planb-lib-back-home {
    width: 2.85rem;
    height: 2.85rem;
    min-width: 2.85rem;
    min-height: 2.85rem;
    max-width: 2.85rem;
    max-height: 2.85rem;
    margin: 0;
    padding: 0.12rem 0.08rem;
    font-size: 0.64rem;
    line-height: 1.1;
  }

  #planb-library-root {
    padding-top: 0.48rem;
  }

  .planb-lib-builtin-section {
    margin-bottom: 0.22rem;
  }

  .planb-lib-region-head {
    margin-bottom: 0.08rem;
  }

  .planb-lib-help-panel {
    margin-bottom: 0.14rem;
    padding: 0.26rem 0.42rem;
    font-size: 0.7rem;
    line-height: 1.42;
  }

  .planb-lib-builtin-tiles {
    gap: 0.06rem;
  }

  .planb-lib-disclosure {
    margin-bottom: 0.22rem;
  }

  .planb-lib-builtin-tiles .planb-lib-disclosure summary {
    min-height: 1.68rem;
    padding: 0.12rem 0.28rem 0.12rem 0.2rem;
    font-size: 0.75rem;
    line-height: 1.14;
  }

  .planb-lib-builtin-wrap {
    margin-bottom: 0.18rem;
  }

  .planb-lib-user-section {
    padding-top: 0.18rem;
    margin-top: 0;
  }

  .planb-mine-lib-list {
    margin: 0.06rem 0 0.18rem;
    padding: 0.1rem 0.1rem;
    gap: 0.06rem;
  }

  .planb-mine-lib-summary {
    min-height: 1.48rem;
    padding: 0.1rem 0.24rem 0.1rem 0.18rem;
    gap: 0.08rem 0.16rem;
    align-items: center;
    line-height: 1.18;
  }

  .planb-mine-lib-chev {
    font-size: 0.74rem;
    width: 0.88em;
  }

  .planb-mine-lib-title {
    font-size: 0.76rem;
    line-height: 1.2;
  }

  .planb-mine-lib-role-bar {
    gap: 0.05rem 0.12rem;
    max-width: min(100%, 14rem);
  }

  .planb-mine-lib-summary .planb-lib-role-chk--mine {
    font-size: 0.54rem;
    gap: 0.05rem;
    line-height: 1.12;
  }

  .planb-mine-lib-summary .planb-lib-role-chk--mine input {
    width: 0.72rem;
    height: 0.72rem;
  }

  .planb-mine-lib-actions-row {
    gap: 0.16rem;
    padding: 0.12rem 0.26rem 0.14rem;
  }

  .planb-mine-act {
    padding: 0.18rem 0.14rem;
    font-size: 0.66rem;
    border-radius: 7px;
  }

  .planb-lib-user-card.planb-lib-user-card--unified {
    margin-top: 0.02rem;
    margin-bottom: 0.28rem;
    padding: 0.22rem 0.34rem 0.26rem;
  }

  #planb-library-root .planb-lib-subcard-head {
    margin-bottom: 0.08rem;
  }

  #planb-library-root .planb-lib-subcard-title {
    font-size: 0.78rem;
  }

  #planb-library-root .planb-lib-crud-row {
    margin-bottom: 0.12rem;
    gap: 0.26rem 0.36rem;
  }

  #planb-library-root .planb-lib-crud-row--mine-upload {
    margin-top: 0.04rem;
    margin-bottom: 0.06rem;
  }

  #planb-library-root .planb-lib-crud-row--mine-confirm {
    margin-top: 0.02rem;
    margin-bottom: 0.16rem;
  }

  #planb-library-root .planb-lib-library-xlsx-row {
    margin-top: 0.04rem;
  }

  .planb-new-lib-roles {
    padding: 0.04rem 0;
    gap: 0.2rem 0.32rem;
  }

  #planb-library-root .planb-lib-crud-field {
    gap: 0.12rem;
  }

  #planb-library-root .planb-lib-crud-field input {
    padding: 0.26rem 0.3rem;
  }

  .planb-lib-summary-row {
    flex-wrap: wrap;
  }

  .planb-lib-disclosure-role-bar {
    max-width: 100%;
    justify-content: flex-start;
  }

  .planb-lib-builtin-table {
    min-width: 0;
    width: 100%;
    max-width: 100%;
    table-layout: fixed;
    font-size: clamp(0.5rem, 2.6vw, 0.68rem);
    border-radius: 6px;
  }

  .planb-lib-builtin-table th,
  .planb-lib-builtin-table td {
    padding: 0.12rem 0.05rem;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;
    line-height: 1.2;
    vertical-align: middle;
  }

  .planb-lib-builtin-table th {
    font-weight: 600;
    letter-spacing: -0.03em;
  }

  .planb-lib-builtin-table th:nth-child(4),
  .planb-lib-builtin-table th:nth-child(5) {
    white-space: normal;
    overflow-wrap: normal;
    word-break: normal;
    width: 22%;
    min-width: 0;
  }

  .planb-lib-builtin-table td:nth-child(4),
  .planb-lib-builtin-table td:nth-child(5) {
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
    width: 22%;
    min-width: 0;
  }

  .planb-lib-builtin-table th:nth-child(6),
  .planb-lib-builtin-table td:nth-child(6) {
    width: 5.5%;
    min-width: 1.5rem;
    max-width: 1.95rem;
    padding-left: 0.04rem;
    padding-right: 0.04rem;
  }
}

.planb-lib-del-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.45rem;
  margin: 0.35rem 0 0.65rem;
}

.planb-lib-del-label {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  font-size: 0.7rem;
  font-weight: 600;
  color: #44403c;
  min-width: 10rem;
  flex: 1 1 12rem;
}

.planb-lib-del-label select {
  padding: 0.32rem 0.35rem;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 0.76rem;
  width: 100%;
  box-sizing: border-box;
}

#planb-library-root .planb-mine-desc {
  margin: 0 0 0.45rem;
  font-size: 0.72rem;
  color: #57534e;
  line-height: 1.45;
}

#planb-library-root .planb-mine-grid {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.45rem 0.55rem;
  margin-bottom: 0.25rem;
}

#planb-library-root .planb-mine-field {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.2rem;
  min-width: 5.5rem;
  font-size: 0.7rem;
  color: #44403c;
}

#planb-library-root .planb-mine-field span {
  text-align: left;
  font-weight: 600;
}

#planb-library-root .planb-mine-field input {
  box-sizing: border-box;
  padding: 0.32rem 0.35rem;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 0.76rem;
  width: 100%;
  min-width: 0;
}

#planb-library-root .planb-mine-grid--paper .planb-mine-field:nth-child(1) {
  flex: 1 1 8rem;
  min-width: 7rem;
}

#planb-library-root .planb-mine-grid--cor .planb-mine-field:nth-child(1) {
  flex: 1 1 8rem;
  min-width: 7rem;
}

#planb-library-root .planb-mine-add {
  align-self: flex-end;
  margin-left: auto;
}

#calc-plan-b .planb-lead, #calc-plan-c .planb-lead{
  margin: 0 0 0.65rem;
  font-size: 0.78rem;
  line-height: 1.5;
  color: #44403c;
}

#calc-plan-b .planb-mine-block, #calc-plan-c .planb-mine-block{
  margin: 0 0 0.85rem;
  padding: 0.55rem 0.65rem;
  background: rgba(255, 255, 255, 0.75);
  border: 1px solid var(--border);
  border-radius: 8px;
}

#calc-plan-b .planb-mine-title, #calc-plan-c .planb-mine-title{
  margin: 0 0 0.25rem;
  font-size: 0.82rem;
  font-weight: 700;
  color: #334155;
}

#calc-plan-b .planb-mine-desc, #calc-plan-c .planb-mine-desc{
  margin: 0 0 0.45rem;
  font-size: 0.72rem;
  color: #57534e;
  line-height: 1.45;
}

#calc-plan-b .planb-mine-grid, #calc-plan-c .planb-mine-grid{
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.45rem 0.55rem;
}

#calc-plan-b .planb-mine-field, #calc-plan-c .planb-mine-field{
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.2rem;
  min-width: 5.5rem;
  font-size: 0.7rem;
  color: #44403c;
}

#calc-plan-b .planb-mine-field span, #calc-plan-c .planb-mine-field span{
  text-align: left;
  font-weight: 600;
}

#calc-plan-b .planb-mine-field input, #calc-plan-c .planb-mine-field input{
  box-sizing: border-box;
  padding: 0.32rem 0.35rem;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 0.76rem;
  width: 100%;
  min-width: 0;
}

#calc-plan-b .planb-mine-grid--paper .planb-mine-field:nth-child(1), #calc-plan-c .planb-mine-grid--paper .planb-mine-field:nth-child(1){
  flex: 1 1 8rem;
  min-width: 7rem;
}

#calc-plan-b .planb-mine-grid--cor .planb-mine-field:nth-child(1), #calc-plan-c .planb-mine-grid--cor .planb-mine-field:nth-child(1){
  flex: 1 1 8rem;
  min-width: 7rem;
}

#calc-plan-b .planb-mine-add, #calc-plan-c .planb-mine-add{
  align-self: flex-end;
  margin-left: auto;
}

#calc-plan-b .planb-section-head, #calc-plan-c .planb-section-head, #calc-kelike .planb-section-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: 0.12rem 0.28rem;
  margin: 0.08rem 0 0.02rem;
  min-width: 0;
}

#calc-plan-b .planb-section-head .planb-section-title-wrap, #calc-plan-c .planb-section-head .planb-section-title-wrap, #calc-kelike .planb-section-head .planb-section-title-wrap{
  margin: 0;
  flex-shrink: 0;
}

#calc-plan-b .planb-section-head .planb-gbr-title-toggle.planb-section-title, #calc-plan-c .planb-section-head .planb-gbr-title-toggle.planb-section-title, #calc-kelike .planb-section-head .planb-gbr-title-toggle.planb-section-title{
  margin: 0;
  flex-shrink: 0;
}

#calc-plan-b .planb-section-title, #calc-plan-c .planb-section-title{
  font-size: 0.8rem;
  font-weight: 700;
  color: #1a3d24;
  line-height: 1.1;
  display: inline-block;
  width: fit-content;
  max-width: 100%;
  padding: 0.08rem 0.46rem;
  background: linear-gradient(180deg, rgba(204, 251, 216, 0.98), rgba(167, 243, 188, 0.82));
  border: 1px solid rgba(74, 124, 89, 0.28);
  border-radius: 4px;
  box-shadow: 0 1px 1px rgba(15, 60, 30, 0.05);
}

#calc-plan-b .planb-gbr-title-toggle.planb-section-title, #calc-plan-c .planb-gbr-title-toggle.planb-section-title, #calc-kelike .planb-gbr-title-toggle.planb-section-title{
  appearance: none;
  -webkit-appearance: none;
  font-family: inherit;
  cursor: pointer;
  text-align: left;
  box-sizing: border-box;
}

#calc-plan-b .planb-section-title-wrap, #calc-plan-c .planb-section-title-wrap, #calc-kelike .planb-section-title-wrap{
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}

#calc-plan-b .planb-gbr-caret, #calc-plan-c .planb-gbr-caret, #calc-kelike .planb-gbr-caret{
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 0.32em;
  vertical-align: middle;
  border-left: 0.28em solid transparent;
  border-right: 0.28em solid transparent;
  border-top: 0.36em solid currentColor;
  transform: rotate(-90deg);
  transform-origin: 50% 35%;
  transition: transform 0.16s ease;
}

#calc-plan-b .planb-layer-card:has(.planb-form-table.planb-gbr-open) .planb-gbr-title-toggle .planb-gbr-caret, #calc-plan-c .planb-layer-card:has(.planb-form-table.planb-gbr-open) .planb-gbr-title-toggle .planb-gbr-caret, #calc-kelike .planb-layer-card:has(.planb-form-table.planb-gbr-open) .planb-gbr-title-toggle .planb-gbr-caret{
  transform: rotate(0deg);
}

#calc-plan-b .planb-gbr-title-toggle.planb-section-title:focus-visible, #calc-plan-c .planb-gbr-title-toggle.planb-section-title:focus-visible, #calc-kelike .planb-gbr-title-toggle.planb-section-title:focus-visible{
  outline: 2px solid rgba(37, 99, 235, 0.55);
  outline-offset: 2px;
}

#calc-plan-b .planb-head-lib, #calc-plan-c .planb-head-lib, #calc-kelike .planb-head-lib{
  display: flex;
  align-items: center;
  gap: 0.18rem;
  flex: 1 1 0;
  min-width: 0;
  justify-content: flex-end;
}

#calc-plan-b .planb-head-lib-label, #calc-plan-c .planb-head-lib-label, #calc-kelike .planb-head-lib-label{
  font-size: 0.7rem;
  font-weight: 600;
  color: #334155;
  white-space: nowrap;
}

#calc-plan-b .planb-head-lib-select, #calc-plan-c .planb-head-lib-select, #calc-kelike .planb-head-lib-select{
  font-size: 0.7rem;
  padding: 0.08rem 0.26rem;
  min-width: 0;
  flex: 1 1 0;
  max-width: min(18rem, 100%);
  border-radius: 4px;
  border: 1px solid #94a3b8;
  background: #fff;
  box-sizing: border-box;
}

/* 原纸库：橙色醒目提示，不增加行高（与主按钮 accent 一致） */
#calc-plan-b .planb-head-lib, #calc-plan-c .planb-head-lib, #calc-kelike .planb-head-lib{
  background: linear-gradient(180deg, #f97316 0%, #ea580c 48%, #c2410c 100%);
  border-radius: 4px;
}

#calc-plan-b .planb-head-lib-label, #calc-plan-c .planb-head-lib-label, #calc-kelike .planb-head-lib-label{
  display: inline-flex;
  align-items: center;
  gap: 0.12rem;
  color: #fff;
  font-weight: 700;
}

#calc-plan-b .planb-head-lib-label::before, #calc-plan-c .planb-head-lib-label::before{
  content: '';
  flex-shrink: 0;
  width: 0.34rem;
  height: 0.34rem;
  border-radius: 50%;
  background: #fff;
}

#calc-plan-b .planb-head-lib-select, #calc-plan-c .planb-head-lib-select, #calc-kelike .planb-head-lib-select{
  border-color: #9a3412;
  color: #7c2d12;
  background: #fff;
  font-weight: 600;
}

#calc-plan-b .planb-section-head + .planb-form-table, #calc-plan-c .planb-section-head + .planb-form-table, #calc-kelike .planb-section-head + .planb-form-table{
  margin-top: 0;
}

#calc-plan-b .planb-section-head.planb-layer--face .planb-section-title, #calc-plan-c .planb-section-head.planb-layer--face .planb-section-title, #calc-kelike .planb-section-head.planb-layer--face .planb-section-title{
  color: #1e3a5f;
  background: linear-gradient(180deg, rgba(191, 219, 254, 0.98), rgba(147, 197, 253, 0.88));
  border-color: rgba(37, 99, 235, 0.42);
  box-shadow: 0 1px 2px rgba(30, 58, 95, 0.08);
}

#calc-plan-b .planb-section-head.planb-layer--middle .planb-section-title, #calc-plan-c .planb-section-head.planb-layer--middle .planb-section-title, #calc-kelike .planb-section-head.planb-layer--middle .planb-section-title{
  color: #4c1d6b;
  background: linear-gradient(180deg, rgba(233, 213, 255, 0.98), rgba(192, 132, 252, 0.82));
  border-color: rgba(109, 40, 217, 0.42);
  box-shadow: 0 1px 2px rgba(76, 29, 107, 0.08);
}

#calc-plan-b .planb-section-head.planb-layer--flute1 .planb-section-title, #calc-plan-c .planb-section-head.planb-layer--flute1 .planb-section-title, #calc-kelike .planb-section-head.planb-layer--flute1 .planb-section-title{
  color: #78350f;
  background: linear-gradient(180deg, rgba(254, 240, 138, 0.98), rgba(253, 224, 71, 0.82));
  border-color: rgba(217, 119, 6, 0.48);
  box-shadow: 0 1px 2px rgba(113, 63, 18, 0.08);
}

#calc-plan-b .planb-section-head.planb-layer--flute2 .planb-section-title, #calc-plan-c .planb-section-head.planb-layer--flute2 .planb-section-title, #calc-kelike .planb-section-head.planb-layer--flute2 .planb-section-title{
  color: #881337;
  background: linear-gradient(180deg, rgba(254, 205, 211, 0.98), rgba(251, 113, 133, 0.78));
  border-color: rgba(225, 29, 72, 0.4);
  box-shadow: 0 1px 2px rgba(136, 19, 55, 0.08);
}

#calc-plan-b .planb-section-head.planb-layer--liner .planb-section-title, #calc-plan-c .planb-section-head.planb-layer--liner .planb-section-title, #calc-kelike .planb-section-head.planb-layer--liner .planb-section-title{
  color: #134e4a;
  background: linear-gradient(180deg, rgba(153, 246, 228, 0.98), rgba(45, 212, 191, 0.78));
  border-color: rgba(13, 148, 136, 0.45);
  box-shadow: 0 1px 2px rgba(19, 78, 74, 0.08);
}

#calc-plan-b .planb-form-table, #calc-plan-c .planb-form-table, #calc-kelike .planb-form-table{
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  margin-bottom: 0.1rem;
  font-size: 0.74rem;
  background: rgba(249, 249, 249, 0.9);
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid var(--border);
}

#calc-plan-b .planb-form-table th, #calc-plan-c .planb-form-table th, #calc-kelike .planb-form-table th,
#calc-plan-b .planb-form-table td, #calc-plan-c .planb-form-table td, #calc-kelike .planb-form-table td{
  border: 1px solid #ddd;
  padding: 0.16rem 0.32rem;
  text-align: center;
  vertical-align: middle;
}

#calc-plan-b .planb-form-table th, #calc-plan-c .planb-form-table th, #calc-kelike .planb-form-table th{
  background: rgba(144, 238, 144, 0.45);
  font-weight: 600;
}

#calc-plan-b .planb-form-table td, #calc-plan-c .planb-form-table td, #calc-kelike .planb-form-table td{
  background: rgba(255, 255, 224, 0.35);
}

#calc-plan-b .planb-form-table.planb-layer--face th, #calc-plan-c .planb-form-table.planb-layer--face th, #calc-kelike .planb-form-table.planb-layer--face th{
  background: rgba(147, 197, 253, 0.88);
}

#calc-plan-b .planb-form-table.planb-layer--face td, #calc-plan-c .planb-form-table.planb-layer--face td, #calc-kelike .planb-form-table.planb-layer--face td{
  background: rgba(224, 242, 254, 0.78);
}

#calc-plan-b .planb-form-table.planb-layer--middle th, #calc-plan-c .planb-form-table.planb-layer--middle th, #calc-kelike .planb-form-table.planb-layer--middle th{
  background: rgba(192, 132, 252, 0.78);
}

#calc-plan-b .planb-form-table.planb-layer--middle td, #calc-plan-c .planb-form-table.planb-layer--middle td, #calc-kelike .planb-form-table.planb-layer--middle td{
  background: rgba(237, 233, 254, 0.82);
}

#calc-plan-b .planb-form-table.planb-layer--flute1 th, #calc-plan-c .planb-form-table.planb-layer--flute1 th, #calc-kelike .planb-form-table.planb-layer--flute1 th{
  background: rgba(253, 224, 71, 0.82);
}

#calc-plan-b .planb-form-table.planb-layer--flute1 td, #calc-plan-c .planb-form-table.planb-layer--flute1 td, #calc-kelike .planb-form-table.planb-layer--flute1 td{
  background: rgba(254, 249, 195, 0.72);
}

#calc-plan-b .planb-form-table.planb-layer--flute2 th, #calc-plan-c .planb-form-table.planb-layer--flute2 th, #calc-kelike .planb-form-table.planb-layer--flute2 th{
  background: rgba(251, 113, 133, 0.72);
}

#calc-plan-b .planb-form-table.planb-layer--flute2 td, #calc-plan-c .planb-form-table.planb-layer--flute2 td, #calc-kelike .planb-form-table.planb-layer--flute2 td{
  background: rgba(255, 228, 230, 0.78);
}

#calc-plan-b .planb-form-table.planb-layer--liner th, #calc-plan-c .planb-form-table.planb-layer--liner th, #calc-kelike .planb-form-table.planb-layer--liner th{
  background: rgba(45, 212, 191, 0.62);
}

#calc-plan-b .planb-form-table.planb-layer--liner td, #calc-plan-c .planb-form-table.planb-layer--liner td, #calc-kelike .planb-form-table.planb-layer--liner td{
  background: rgba(204, 251, 241, 0.72);
}

#calc-plan-b .planb-form-table td.planb-col-lib, #calc-plan-c .planb-form-table td.planb-col-lib,
#calc-plan-b .planb-form-table th.planb-col-lib, #calc-plan-c .planb-form-table th.planb-col-lib{
  text-align: left;
  min-width: 6.5rem;
  max-width: 9rem;
}

#calc-plan-b .planb-form-table td.planb-col-search, #calc-plan-c .planb-form-table td.planb-col-search, #calc-kelike .planb-form-table td.planb-col-search{
  text-align: left;
  width: 40%;
  min-width: 0;
  max-width: none;
  box-sizing: border-box;
}

#calc-plan-b .planb-form-table th.planb-col-search, #calc-plan-c .planb-form-table th.planb-col-search, #calc-kelike .planb-form-table th.planb-col-search{
  text-align: center;
  width: 40%;
  min-width: 0;
  max-width: none;
  box-sizing: border-box;
}

/* 品名列略宽于「搜索品名」，便于选品名 */
#calc-plan-b .planb-form-table thead tr > th:nth-child(2), #calc-plan-c .planb-form-table thead tr > th:nth-child(2), #calc-kelike .planb-form-table thead tr > th:nth-child(2),
#calc-plan-b .planb-form-table tbody tr.planb-row-meta > td:nth-child(2), #calc-plan-c .planb-form-table tbody tr.planb-row-meta > td:nth-child(2), #calc-kelike .planb-form-table tbody tr.planb-row-meta > td:nth-child(2){
  width: 60%;
  min-width: 0;
  box-sizing: border-box;
}

#calc-plan-b .planb-form-table .planb-col-lib select, #calc-plan-c .planb-form-table .planb-col-lib select{
  font-size: 0.68rem;
  padding: 0.3rem 0.25rem;
  text-align: left;
}

#calc-plan-b .planb-form-table thead tr > th, #calc-plan-c .planb-form-table thead tr > th{
  font-size: 0.65rem;
  line-height: 1.1;
  padding-top: 0.08rem;
  padding-bottom: 0.08rem;
}

#calc-plan-b .planb-form-table tbody tr.planb-row-meta > td, #calc-plan-c .planb-form-table tbody tr.planb-row-meta > td{
  padding-top: 0.05rem;
  padding-bottom: 0.05rem;
}

#calc-plan-b .planb-form-table .planb-th-unit, #calc-plan-c .planb-form-table .planb-th-unit{
  display: inline;
  font-weight: 500;
  font-size: 0.65em;
  opacity: 0.92;
}

/* G/B/R 标题行 + 数值行：面纸/中纸/里纸紧接在「搜索 + 品名」之后；瓦纸表在楞型行之后 */
#calc-plan-b .planb-gbr-head-row, #calc-plan-c .planb-gbr-head-row, #calc-kelike .planb-gbr-head-row,
#calc-plan-b .planb-gbr-input-row, #calc-plan-c .planb-gbr-input-row, #calc-kelike .planb-gbr-input-row{
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 0.24rem;
  width: 100%;
  box-sizing: border-box;
  align-items: stretch;
  justify-content: stretch;
}

#calc-plan-b .planb-gbr-head-cell, #calc-plan-c .planb-gbr-head-cell, #calc-kelike .planb-gbr-head-cell,
#calc-plan-b .planb-gbr-input-cell, #calc-plan-c .planb-gbr-input-cell, #calc-kelike .planb-gbr-input-cell{
  flex: 1 1 0;
  min-width: 0;
  text-align: center;
}

#calc-plan-b .planb-gbr-head-cell, #calc-plan-c .planb-gbr-head-cell, #calc-kelike .planb-gbr-head-cell{
  font-size: 0.65rem;
  line-height: 1.15;
  font-weight: 600;
  white-space: normal;
}

#calc-plan-b tr.planb-head-gbr .planb-gbr-head-td, #calc-plan-c tr.planb-head-gbr .planb-gbr-head-td, #calc-kelike tr.planb-head-gbr .planb-gbr-head-td{
  padding: 0.06rem 0.24rem;
  vertical-align: middle;
  text-align: center;
}

#calc-plan-b .planb-form-table.planb-layer--face tr.planb-head-gbr .planb-gbr-head-td, #calc-plan-c .planb-form-table.planb-layer--face tr.planb-head-gbr .planb-gbr-head-td, #calc-kelike .planb-form-table.planb-layer--face tr.planb-head-gbr .planb-gbr-head-td{
  background: rgba(147, 197, 253, 0.88);
}

#calc-plan-b .planb-form-table.planb-layer--middle tr.planb-head-gbr .planb-gbr-head-td, #calc-plan-c .planb-form-table.planb-layer--middle tr.planb-head-gbr .planb-gbr-head-td, #calc-kelike .planb-form-table.planb-layer--middle tr.planb-head-gbr .planb-gbr-head-td{
  background: rgba(192, 132, 252, 0.78);
}

#calc-plan-b .planb-form-table.planb-layer--flute1 tr.planb-head-gbr .planb-gbr-head-td, #calc-plan-c .planb-form-table.planb-layer--flute1 tr.planb-head-gbr .planb-gbr-head-td, #calc-kelike .planb-form-table.planb-layer--flute1 tr.planb-head-gbr .planb-gbr-head-td{
  background: rgba(253, 224, 71, 0.82);
}

#calc-plan-b .planb-form-table.planb-layer--flute2 tr.planb-head-gbr .planb-gbr-head-td, #calc-plan-c .planb-form-table.planb-layer--flute2 tr.planb-head-gbr .planb-gbr-head-td, #calc-kelike .planb-form-table.planb-layer--flute2 tr.planb-head-gbr .planb-gbr-head-td{
  background: rgba(251, 113, 133, 0.72);
}

#calc-plan-b .planb-form-table.planb-layer--liner tr.planb-head-gbr .planb-gbr-head-td, #calc-plan-c .planb-form-table.planb-layer--liner tr.planb-head-gbr .planb-gbr-head-td, #calc-kelike .planb-form-table.planb-layer--liner tr.planb-head-gbr .planb-gbr-head-td{
  background: rgba(45, 212, 191, 0.62);
}

#calc-plan-b .planb-row-gbr td, #calc-plan-c .planb-row-gbr td, #calc-kelike .planb-row-gbr td{
  padding: 0.14rem 0.24rem 0.08rem;
  vertical-align: top;
}

/* 瓦纸：楞型 + 伸缩率行在 G/B/R 标题与数值行之上（紧接「搜索 + 品名」） */
#calc-plan-b .planb-flute-stretch-row, #calc-plan-c .planb-flute-stretch-row, #calc-kelike .planb-flute-stretch-row{
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 0.22rem;
  width: 100%;
  box-sizing: border-box;
  align-items: stretch;
}

#calc-plan-b .planb-flute-stretch-cell, #calc-plan-c .planb-flute-stretch-cell, #calc-kelike .planb-flute-stretch-cell{
  flex: 1 1 0;
  min-width: 0;
  text-align: center;
}

#calc-plan-b .planb-flute-stretch-label, #calc-plan-c .planb-flute-stretch-label, #calc-kelike .planb-flute-stretch-label{
  font-size: 0.65rem;
  font-weight: 600;
  line-height: 1.15;
  margin-bottom: 0.04rem;
  white-space: normal;
}

#calc-plan-b .planb-flute-stretch-td, #calc-plan-c .planb-flute-stretch-td, #calc-kelike .planb-flute-stretch-td{
  padding: 0.04rem 0.24rem 0.06rem;
  vertical-align: top;
}

#calc-plan-b .planb-form-table input, #calc-plan-c .planb-form-table input, #calc-kelike .planb-form-table input,
#calc-plan-b .planb-form-table select, #calc-plan-c .planb-form-table select, #calc-kelike .planb-form-table select{
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: 0.2rem 0.24rem;
  text-align: center;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 0.7rem;
}

/* 须写在通用 input/select 之后：搜索框与品名下拉同高 */
#calc-plan-b .planb-form-table tbody tr.planb-row-meta .planb-product-search, #calc-plan-c .planb-form-table tbody tr.planb-row-meta .planb-product-search,
#calc-plan-b .planb-form-table tbody tr.planb-row-meta > td:nth-child(2) select, #calc-plan-c .planb-form-table tbody tr.planb-row-meta > td:nth-child(2) select{
  text-align: left;
  font-size: 0.65rem;
  line-height: 1.12;
  padding: 0.12rem 0.22rem;
  min-height: 1.72rem;
  box-sizing: border-box;
}

#calc-plan-b .planb-actions, #calc-plan-c .planb-actions{
  white-space: nowrap;
}

#calc-plan-b .planb-actions .btn-sm, #calc-plan-c .planb-actions .btn-sm{
  padding: 0.22rem 0.45rem;
  font-size: 0.68rem;
  margin: 0 0.1rem;
}

#calc-plan-b .planb-actions .btn-sm, #calc-plan-c .planb-actions .btn-sm{
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 0.65rem;
  margin-top: 0.75rem;
}

#calc-plan-b .planb-calc-bar, #calc-plan-c .planb-calc-bar{
  margin-top: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.42rem;
}

#calc-plan-b .planb-calc-actions, #calc-plan-c .planb-calc-actions{
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  width: 100%;
  box-sizing: border-box;
}

#calc-plan-b .planb-calc-bar .btn-primary, #calc-plan-c .planb-calc-bar .btn-primary{
  min-width: 6.5rem;
}

#calc-plan-b .planb-calc-actions .btn-secondary#planbBtnClear, #calc-plan-c .planb-calc-actions .btn-secondary#planbBtnClear, #calc-plan-c .planb-calc-actions .btn-secondary#plancBtnClear{
  white-space: nowrap;
  font-weight: 600;
  background: linear-gradient(180deg, #fff7ed 0%, #ffedd5 52%, #fed7aa 100%);
  border: 1px solid rgba(194, 65, 12, 0.48);
  color: #9a3412;
  box-shadow: 0 1px 4px rgba(194, 65, 12, 0.14);
}

#calc-plan-b .planb-calc-actions .btn-secondary#planbBtnClear:hover,
#calc-plan-c .planb-calc-actions .btn-secondary#planbBtnClear:hover,
#calc-plan-c .planb-calc-actions .btn-secondary#plancBtnClear:hover{
  background: linear-gradient(180deg, #fffbeb 0%, #fef3c7 48%, #fde68a 100%);
  border-color: rgba(194, 65, 12, 0.58);
  color: #7c2d12;
}

#calc-plan-b .planb-calc-bar .mckee-calc-out-wrap, #calc-plan-c .planb-calc-bar .mckee-calc-out-wrap{
  width: 100%;
  min-width: 0;
  flex: 0 0 auto;
}

/* 无计算结果时：占位条压矮（有结果后自动撑开） */
#calc-plan-b .planb-calc-bar .mckee-calc-out-wrap:has(#outPlanB:empty),
#calc-plan-c .planb-calc-bar .mckee-calc-out-wrap:has(#outPlanC:empty){
  padding: 0;
  margin: 0;
  min-height: 0;
}

#calc-plan-b #outPlanB:empty,
#calc-plan-c #outPlanC:empty{
  display: block;
  min-height: 0.5rem;
  max-height: 0.65rem;
  padding: 0;
  margin: 0;
  line-height: 0;
  font-size: 0;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: rgba(250, 248, 245, 0.55);
  box-sizing: border-box;
  overflow: hidden;
}

#calc-plan-b #outPlanB.planb-result-wrap, #calc-plan-c #outPlanB.planb-result-wrap,
#calc-plan-b #outPlanB, #calc-plan-c #outPlanB{
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  min-width: 0;
}

#calc-plan-b #outPlanB.planb-result--invalid .planb-result-title, #calc-plan-c #outPlanB.planb-result--invalid .planb-result-title{
  color: #9a3412;
}

#calc-plan-b .planb-result-alert, #calc-plan-c .planb-result-alert{
  margin: 0 0 0.55rem;
  padding: 0.5rem 0.6rem;
  border-radius: 8px;
  border: 1px solid rgba(194, 65, 12, 0.5);
  background: linear-gradient(165deg, #fffbeb 0%, #ffedd5 55%, #fef3c7 100%);
  color: #7c2d12;
  font-size: 0.84rem;
  line-height: 1.42;
  font-weight: 600;
  box-shadow: 0 1px 4px rgba(194, 65, 12, 0.12);
}

#calc-plan-b .planb-result-title, #calc-plan-c .planb-result-title{
  text-align: center;
  color: #15803d;
  font-size: 1rem;
  margin: 0 0 0.5rem;
}

#calc-plan-b .planb-result-table, #calc-plan-c .planb-result-table{
  width: 100%;
  border-collapse: collapse;
  font-size: 0.78rem;
  margin-bottom: 0.35rem;
}

#calc-plan-b .planb-result-table th, #calc-plan-c .planb-result-table th,
#calc-plan-b .planb-result-table td, #calc-plan-c .planb-result-table td{
  border: 1px solid #ddd;
  padding: 0.4rem 0.45rem;
}

#calc-plan-b .planb-result-table th, #calc-plan-c .planb-result-table th{
  background: rgba(144, 238, 144, 0.45);
}

#calc-plan-b .planb-result-table td:first-child, #calc-plan-c .planb-result-table td:first-child{
  background: rgba(255, 255, 224, 0.45);
}

#calc-plan-b .planb-result-foot, #calc-plan-c .planb-result-foot{
  margin: 0.35rem 0 0;
  font-size: 0.68rem;
  color: #57534e;
  line-height: 1.45;
}

#calc-plan-b .planb-form-table:not(.planb-gbr-open) tr.planb-head-gbr, #calc-plan-c .planb-form-table:not(.planb-gbr-open) tr.planb-head-gbr,
#calc-kelike .planb-form-table:not(.planb-gbr-open) tr.planb-head-gbr,
#calc-plan-b .planb-form-table:not(.planb-gbr-open) tr.planb-row-gbr, #calc-plan-c .planb-form-table:not(.planb-gbr-open) tr.planb-row-gbr,
#calc-kelike .planb-form-table:not(.planb-gbr-open) tr.planb-row-gbr{
  display: none;
}

#calc-kelike .kelike-strip-r {
  font-weight: 600;
  background: rgba(250, 250, 249, 0.95) !important;
  color: #1c1917;
  cursor: default;
}

/* Plan B 边压/耐破：仅桌面端压缩纵向，尽量一屏装下（>720px）；窄屏用下方 max-width 规则 */
@media (min-width: 721px) {
  .page.page--layout.page--calc-planb {
    padding-top: 0.12rem;
  }

  .page.page--layout.page--calc-planb .page-head--compact {
    margin-bottom: 0.06rem;
  }

  #ioSection.io-section--planb.block {
    padding-top: 0.62rem;
    padding-bottom: 1.22rem;
  }

  #ioSection.io-section--planb .theory-title-row {
    margin: 0 0 0.24rem;
    padding-bottom: 0.2rem;
  }

  #ioSection.io-section--planb .theory-feature-name {
    font-size: 0.93rem;
    line-height: 1.3;
    margin-bottom: 0.14rem;
  }

  #calc-plan-b .box0201-layer-pick, #calc-plan-c .box0201-layer-pick, #calc-kelike .box0201-layer-pick{
    margin: 0.04rem 0 0.1rem;
  }

  #calc-plan-b .box0201-layer-pick__face, #calc-plan-c .box0201-layer-pick__face, #calc-kelike .box0201-layer-pick__face{
    min-height: 1.14rem;
    padding: 0.06rem 0.18rem;
    gap: 0.18rem;
  }

  #calc-plan-b .box0201-layer-pick__title, #calc-plan-c .box0201-layer-pick__title, #calc-kelike .box0201-layer-pick__title{
    font-size: 0.84rem;
    line-height: 1.14;
  }

  #calc-plan-b .box0201-layer-pick__state, #calc-plan-c .box0201-layer-pick__state, #calc-kelike .box0201-layer-pick__state{
    font-size: 0.56rem;
    line-height: 1.06;
  }

  #calc-plan-b .planb-wrap, #calc-plan-c .planb-wrap, #calc-kelike .planb-wrap{
    gap: 0.1rem;
  }

  #calc-plan-b .planb-layer-card, #calc-plan-c .planb-layer-card, #calc-kelike .planb-layer-card{
    padding: 0.26rem 0.32rem 0.32rem;
    border-radius: 9px;
  }

  #calc-plan-b .planb-layer-card .planb-section-head, #calc-plan-c .planb-layer-card .planb-section-head, #calc-kelike .planb-layer-card .planb-section-head{
    margin: 0 0 0.1rem;
    padding-bottom: 0.1rem;
  }

  #calc-plan-b .planb-section-head, #calc-plan-c .planb-section-head, #calc-kelike .planb-section-head{
    gap: 0.12rem 0.28rem;
    margin: 0.07rem 0 0.06rem;
  }

  #calc-plan-b .planb-section-title, #calc-plan-c .planb-section-title{
    font-size: 0.82rem;
    line-height: 1.2;
    padding: 0.06rem 0.38rem;
  }

  #calc-plan-b .planb-head-lib-label, #calc-plan-c .planb-head-lib-label{
    font-size: 0.7rem;
  }

  #calc-plan-b .planb-head-lib-select, #calc-plan-c .planb-head-lib-select{
    font-size: 0.76rem;
    padding: 0.07rem 0.22rem;
    min-height: 1.72rem;
  }

  #calc-plan-b .planb-lead, #calc-plan-c .planb-lead{
    font-size: 0.72rem;
    line-height: 1.38;
    margin-bottom: 0.38rem;
  }

  #calc-plan-b .planb-mine-block, #calc-plan-c .planb-mine-block{
    padding: 0.34rem 0.42rem;
  }

  #calc-plan-b .planb-mine-title, #calc-plan-c .planb-mine-title{
    font-size: 0.78rem;
  }

  #calc-plan-b .planb-mine-desc, #calc-plan-c .planb-mine-desc{
    font-size: 0.7rem;
  }

  #calc-plan-b .planb-mine-field, #calc-plan-c .planb-mine-field{
    font-size: 0.66rem;
    gap: 0.1rem;
  }

  #calc-plan-b .planb-mine-field input, #calc-plan-c .planb-mine-field input{
    padding: 0.18rem 0.22rem;
    font-size: 0.74rem;
  }

  #calc-plan-b .planb-form-table, #calc-plan-c .planb-form-table, #calc-kelike .planb-form-table{
    font-size: 0.76rem;
    margin-bottom: 0.1rem;
  }

  #calc-plan-b .planb-form-table th, #calc-plan-c .planb-form-table th,
  #calc-plan-b .planb-form-table td, #calc-plan-c .planb-form-table td{
    padding: 0.16rem 0.24rem;
  }

  #calc-plan-b .planb-form-table thead tr > th, #calc-plan-c .planb-form-table thead tr > th{
    font-size: 0.7rem;
    line-height: 1.18;
    padding-top: 0.14rem;
    padding-bottom: 0.14rem;
  }

  #calc-plan-b .planb-form-table tbody tr.planb-row-meta > td, #calc-plan-c .planb-form-table tbody tr.planb-row-meta > td{
    padding-top: 0.08rem;
    padding-bottom: 0.08rem;
  }

  #calc-plan-b .planb-form-table .planb-col-lib select, #calc-plan-c .planb-form-table .planb-col-lib select{
    font-size: 0.76rem;
    padding: 0.15rem 0.2rem;
    min-height: 1.74rem;
  }

  #calc-plan-b .planb-form-table input, #calc-plan-c .planb-form-table input,
  #calc-plan-b .planb-form-table select, #calc-plan-c .planb-form-table select{
    padding: 0.14rem 0.2rem;
    font-size: 0.76rem;
    min-height: 1.72rem;
  }

  #calc-plan-b .planb-form-table tbody tr.planb-row-meta .planb-product-search, #calc-plan-c .planb-form-table tbody tr.planb-row-meta .planb-product-search,
  #calc-plan-b .planb-form-table tbody tr.planb-row-meta > td:nth-child(2) select, #calc-plan-c .planb-form-table tbody tr.planb-row-meta > td:nth-child(2) select{
    font-size: 0.74rem;
    line-height: 1.22;
    padding: 0.12rem 0.24rem;
    min-height: 1.74rem;
  }

  #calc-plan-b .planb-gbr-head-cell, #calc-plan-c .planb-gbr-head-cell{
    font-size: 0.68rem;
    line-height: 1.12;
  }

  #calc-plan-b tr.planb-head-gbr .planb-gbr-head-td, #calc-plan-c tr.planb-head-gbr .planb-gbr-head-td, #calc-kelike tr.planb-head-gbr .planb-gbr-head-td{
    padding: 0.06rem 0.18rem;
  }

  #calc-plan-b .planb-row-gbr td, #calc-plan-c .planb-row-gbr td{
    padding: 0.1rem 0.18rem 0.08rem;
  }

  #calc-plan-b .planb-flute-stretch-label, #calc-plan-c .planb-flute-stretch-label{
    font-size: 0.68rem;
    margin-bottom: 0.03rem;
  }

  #calc-plan-b .planb-flute-stretch-td, #calc-plan-c .planb-flute-stretch-td{
    padding: 0.05rem 0.18rem 0.06rem;
  }

  #calc-plan-b .planb-gbr-head-row, #calc-plan-c .planb-gbr-head-row,
  #calc-plan-b .planb-gbr-input-row, #calc-plan-c .planb-gbr-input-row,
  #calc-plan-b .planb-flute-stretch-row, #calc-plan-c .planb-flute-stretch-row{
    gap: 0.18rem;
  }

  #calc-plan-b .planb-calc-bar, #calc-plan-c .planb-calc-bar{
    gap: 0.46rem;
    margin-top: 0.22rem;
  }

  #calc-plan-b .planb-calc-actions, #calc-plan-c .planb-calc-actions{
    gap: 0.4rem;
  }

  #calc-plan-b .planb-calc-actions .btn.btn-primary, #calc-plan-c .planb-calc-actions .btn.btn-primary,
  #calc-plan-b .planb-calc-actions .btn.btn-secondary, #calc-plan-c .planb-calc-actions .btn.btn-secondary{
    min-height: 2rem;
    padding: 0.28rem 0.68rem;
    font-size: 0.8rem;
  }

  #calc-plan-b .planb-calc-bar .mckee-calc-out-wrap:has(#outPlanB:empty),
#calc-plan-c .planb-calc-bar .mckee-calc-out-wrap:has(#outPlanC:empty){
    padding: 0;
  }

  #calc-plan-b #outPlanB:empty,
#calc-plan-c #outPlanC:empty{
    min-height: 0.45rem;
    max-height: 0.58rem;
  }

  #calc-plan-b .planb-calc-bar .mckee-calc-out-wrap, #calc-plan-c .planb-calc-bar .mckee-calc-out-wrap{
    padding: 0;
    min-height: 0;
  }

  #calc-plan-b .planb-result-title, #calc-plan-c .planb-result-title{
    font-size: 0.92rem;
    margin-bottom: 0.3rem;
  }

  #calc-plan-b .planb-result-table, #calc-plan-c .planb-result-table{
    font-size: 0.76rem;
  }

  #calc-plan-b .planb-result-table th, #calc-plan-c .planb-result-table th,
  #calc-plan-b .planb-result-table td, #calc-plan-c .planb-result-table td{
    padding: 0.24rem 0.3rem;
  }

  #calc-plan-b .planb-result-foot, #calc-plan-c .planb-result-foot{
    font-size: 0.7rem;
    line-height: 1.38;
  }
}

@media (max-width: 720px) {
  /* plan-b 手机：主卡水平 padding 与顶角按钮 inset 一致，表单与「原理说明 / 返回首页」左右外缘对齐 */
  #ioSection.io-section--planb.block {
    padding-left: max(0.56rem, env(safe-area-inset-left, 0px));
    padding-right: max(0.56rem, env(safe-area-inset-right, 0px));
    /* 与角块 top 一致：主标题首行与角块上缘齐平；刘海区由 safe-area 顶开 */
    padding-top: max(0.1rem, env(safe-area-inset-top, 0px));
  }

  #ioSection.io-section--planb .io-corner-nav {
    left: max(0.56rem, env(safe-area-inset-left, 0px));
    right: max(0.56rem, env(safe-area-inset-right, 0px));
    /* 与 .block padding-top 相同 → 角块顶与主标题块顶齐平（侧向留白由 .theory-feature-name 左右 padding 保证） */
    top: max(0.1rem, env(safe-area-inset-top, 0px));
    align-items: flex-start;
  }

  /* plan-b 手机：角块略缩高，副标题区顶 padding 顶开文档流，与角块、标题行底部分割线均不压线 */
  #ioSection.io-section--planb .io-corner-nav__tile {
    width: 2.62rem;
    height: 2.62rem;
    min-width: 2.62rem;
    min-height: 2.62rem;
    max-width: 2.62rem;
    max-height: 2.62rem;
    padding: 0.09rem 0.06rem;
    font-size: 0.61rem;
    line-height: 1.08;
    border-radius: 7px;
  }

  #ioSection.io-section--planb .theory-feature-name {
    /* 不再整块下推：与角块同排起笔；多行时底缘与副标题留缝 */
    padding-top: 0;
    padding-bottom: 0.12rem;
    margin-bottom: 0.05rem;
    font-size: 0.94rem;
    line-height: 1.28;
  }

  #ioSection.io-section--planb .theory-title-row {
    margin-top: 0.06rem;
    padding-top: 0.12rem;
    padding-bottom: 0.26rem;
    margin-bottom: 0.1rem;
  }

  .page.page--layout.page--calc-planb {
    padding-top: 0.18rem;
  }

  .page.page--layout.page--calc-planb .page-head--compact {
    margin-bottom: 0.08rem;
  }

  #calc-plan-b .planb-layer-card, #calc-plan-c .planb-layer-card, #calc-kelike .planb-layer-card{
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  #calc-plan-b .planb-form-table, #calc-plan-c .planb-form-table, #calc-kelike .planb-form-table{
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: visible;
    -webkit-overflow-scrolling: touch;
  }

  #calc-plan-b .planb-layer-card > .planb-form-table, #calc-plan-c .planb-layer-card > .planb-form-table, #calc-kelike .planb-layer-card > .planb-form-table{
    width: 100%;
    min-width: 0;
  }

  #calc-plan-b .planb-form-table thead, #calc-plan-c .planb-form-table thead, #calc-kelike .planb-form-table thead,
  #calc-plan-b .planb-form-table tbody, #calc-plan-c .planb-form-table tbody, #calc-kelike .planb-form-table tbody{
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  /* 每行占满宽度；此前仅 meta / 楞型 / GBR 等行写了 flex，楞型等行收缩导致右侧大块留白 */
  #calc-plan-b .planb-form-table tbody tr, #calc-plan-c .planb-form-table tbody tr, #calc-kelike .planb-form-table tbody tr{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  /* 窄屏 flex 布局会盖掉桌面端 display:none，收起时须强制隐藏 G/B/R 行 */
  #calc-plan-b .planb-form-table:not(.planb-gbr-open) tr.planb-head-gbr,
  #calc-plan-c .planb-form-table:not(.planb-gbr-open) tr.planb-head-gbr,
  #calc-kelike .planb-form-table:not(.planb-gbr-open) tr.planb-head-gbr,
  #calc-plan-b .planb-form-table:not(.planb-gbr-open) tr.planb-row-gbr,
  #calc-plan-c .planb-form-table:not(.planb-gbr-open) tr.planb-row-gbr,
  #calc-kelike .planb-form-table:not(.planb-gbr-open) tr.planb-row-gbr {
    display: none !important;
  }

  #calc-plan-b .planb-form-table thead tr, #calc-plan-c .planb-form-table thead tr, #calc-kelike .planb-form-table thead tr{
    display: flex;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  #calc-plan-b .planb-form-table thead tr > th.planb-col-search, #calc-plan-c .planb-form-table thead tr > th.planb-col-search, #calc-kelike .planb-form-table thead tr > th.planb-col-search{
    flex: 0 1 40%;
    width: 40%;
    min-width: 0;
  }

  #calc-plan-b .planb-form-table thead tr > th:nth-child(2), #calc-plan-c .planb-form-table thead tr > th:nth-child(2), #calc-kelike .planb-form-table thead tr > th:nth-child(2){
    flex: 1 1 60%;
    width: 60%;
    min-width: 0;
  }

  #calc-plan-b .planb-form-table tbody tr.planb-row-meta > td.planb-col-search, #calc-plan-c .planb-form-table tbody tr.planb-row-meta > td.planb-col-search, #calc-kelike .planb-form-table tbody tr.planb-row-meta > td.planb-col-search{
    flex: 0 1 40%;
    width: 40%;
    min-width: 0;
  }

  #calc-plan-b .planb-form-table tbody tr.planb-row-meta > td:nth-child(2), #calc-plan-c .planb-form-table tbody tr.planb-row-meta > td:nth-child(2), #calc-kelike .planb-form-table tbody tr.planb-row-meta > td:nth-child(2){
    flex: 1 1 60%;
    width: 60%;
    min-width: 0;
  }

  #calc-plan-b .planb-form-table tbody tr.planb-row-flute-stretch > td, #calc-plan-c .planb-form-table tbody tr.planb-row-flute-stretch > td, #calc-kelike .planb-form-table tbody tr.planb-row-flute-stretch > td,
  #calc-plan-b .planb-form-table tbody tr.planb-head-gbr > td, #calc-plan-c .planb-form-table tbody tr.planb-head-gbr > td, #calc-kelike .planb-form-table tbody tr.planb-head-gbr > td,
  #calc-plan-b .planb-form-table tbody tr.planb-row-gbr > td, #calc-plan-c .planb-form-table tbody tr.planb-row-gbr > td, #calc-kelike .planb-form-table tbody tr.planb-row-gbr > td{
    flex: 1 1 100%;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }

  #calc-plan-b .planb-gbr-head-row, #calc-plan-c .planb-gbr-head-row, #calc-kelike .planb-gbr-head-row,
  #calc-plan-b .planb-gbr-input-row, #calc-plan-c .planb-gbr-input-row, #calc-kelike .planb-gbr-input-row,
  #calc-plan-b .planb-flute-stretch-row, #calc-plan-c .planb-flute-stretch-row, #calc-kelike .planb-flute-stretch-row{
    gap: 0.2rem;
  }

  /* 窄屏：层数切换略加高，层块间距再压一档 */
  #calc-plan-b .box0201-layer-pick, #calc-plan-c .box0201-layer-pick, #calc-kelike .box0201-layer-pick{
    margin: 0.03rem 0 0.08rem;
  }

  #calc-plan-b .box0201-layer-pick__face, #calc-plan-c .box0201-layer-pick__face, #calc-kelike .box0201-layer-pick__face{
    min-height: 1.1rem;
    padding: 0.05rem 0.14rem;
    gap: 0.14rem;
  }

  #calc-plan-b .box0201-layer-pick__title, #calc-plan-c .box0201-layer-pick__title, #calc-kelike .box0201-layer-pick__title{
    font-size: 0.74rem;
    line-height: 1.08;
  }

  #calc-plan-b .box0201-layer-pick__state, #calc-plan-c .box0201-layer-pick__state, #calc-kelike .box0201-layer-pick__state{
    font-size: 0.5rem;
    line-height: 1.08;
  }

  #calc-plan-b .planb-wrap, #calc-plan-c .planb-wrap, #calc-kelike .planb-wrap{
    gap: 0.06rem;
  }

  #calc-plan-b .planb-layer-card, #calc-plan-c .planb-layer-card, #calc-kelike .planb-layer-card{
    padding: 0.13rem 0.3rem 0.16rem;
  }

  #calc-plan-b .planb-section-head, #calc-plan-c .planb-section-head, #calc-kelike .planb-section-head{
    gap: 0.1rem 0.18rem;
  }

  #calc-plan-b .planb-section-title, #calc-plan-c .planb-section-title{
    font-size: 0.73rem;
    padding: 0.06rem 0.34rem;
    line-height: 1.16;
  }

  #calc-plan-b .planb-head-lib, #calc-plan-c .planb-head-lib{
    gap: 0.12rem;
  }

  #calc-plan-b .planb-head-lib-label, #calc-plan-c .planb-head-lib-label{
    font-size: 0.63rem;
    line-height: 1.14;
  }

  #calc-plan-b .planb-head-lib-select, #calc-plan-c .planb-head-lib-select{
    font-size: 0.65rem;
    padding: 0.07rem 0.18rem;
    min-height: 1.64rem;
    line-height: 1.14;
  }

  #calc-plan-b .planb-form-table, #calc-plan-c .planb-form-table, #calc-kelike .planb-form-table{
    font-size: 0.72rem;
    margin-bottom: 0.08rem;
  }

  #calc-plan-b .planb-form-table th, #calc-plan-c .planb-form-table th,
  #calc-plan-b .planb-form-table td, #calc-plan-c .planb-form-table td{
    padding: 0.1rem 0.22rem;
  }

  #calc-plan-b .planb-form-table thead tr > th, #calc-plan-c .planb-form-table thead tr > th{
    font-size: 0.65rem;
    line-height: 1.16;
    padding-top: 0.08rem;
    padding-bottom: 0.08rem;
  }

  #calc-plan-b .planb-form-table tbody tr.planb-row-meta > td, #calc-plan-c .planb-form-table tbody tr.planb-row-meta > td{
    padding-top: 0.06rem;
    padding-bottom: 0.06rem;
  }

  #calc-plan-b .planb-form-table .planb-col-lib select, #calc-plan-c .planb-form-table .planb-col-lib select{
    font-size: 0.68rem;
    padding: 0.09rem 0.18rem;
    min-height: 1.68rem;
  }

  #calc-plan-b .planb-form-table input, #calc-plan-c .planb-form-table input,
  #calc-plan-b .planb-form-table select, #calc-plan-c .planb-form-table select{
    padding: 0.1rem 0.18rem;
    font-size: 0.69rem;
    min-height: 1.66rem;
  }

  #calc-plan-b .planb-form-table tbody tr.planb-row-meta .planb-product-search, #calc-plan-c .planb-form-table tbody tr.planb-row-meta .planb-product-search,
  #calc-plan-b .planb-form-table tbody tr.planb-row-meta > td:nth-child(2) select, #calc-plan-c .planb-form-table tbody tr.planb-row-meta > td:nth-child(2) select{
    font-size: 0.66rem;
    line-height: 1.12;
    padding: 0.1rem 0.2rem;
    min-height: 1.7rem;
  }

  #calc-plan-b .planb-gbr-head-cell, #calc-plan-c .planb-gbr-head-cell{
    font-size: 0.65rem;
    line-height: 1.12;
  }

  #calc-plan-b tr.planb-head-gbr .planb-gbr-head-td, #calc-plan-c tr.planb-head-gbr .planb-gbr-head-td, #calc-kelike tr.planb-head-gbr .planb-gbr-head-td{
    padding: 0.06rem 0.2rem;
  }

  #calc-plan-b .planb-row-gbr td, #calc-plan-c .planb-row-gbr td{
    padding: 0.1rem 0.2rem 0.08rem;
  }

  #calc-plan-b .planb-flute-stretch-label, #calc-plan-c .planb-flute-stretch-label{
    font-size: 0.65rem;
    line-height: 1.12;
  }

  #calc-plan-b .planb-flute-stretch-td, #calc-plan-c .planb-flute-stretch-td{
    padding: 0.05rem 0.2rem 0.06rem;
  }

  #calc-plan-b .planb-lead, #calc-plan-c .planb-lead{
    font-size: 0.71rem;
    line-height: 1.36;
    margin-bottom: 0.3rem;
  }

  #calc-plan-b .planb-mine-block, #calc-plan-c .planb-mine-block{
    padding: 0.28rem 0.36rem;
  }

  #calc-plan-b .planb-mine-title, #calc-plan-c .planb-mine-title{
    font-size: 0.76rem;
  }

  #calc-plan-b .planb-mine-desc, #calc-plan-c .planb-mine-desc{
    font-size: 0.69rem;
    line-height: 1.3;
  }

  #calc-plan-b .planb-mine-field, #calc-plan-c .planb-mine-field{
    font-size: 0.63rem;
  }

  #calc-plan-b .planb-mine-field input, #calc-plan-c .planb-mine-field input{
    padding: 0.12rem 0.18rem;
    font-size: 0.68rem;
    min-height: 1.66rem;
  }

  #calc-plan-b .planb-calc-bar, #calc-plan-c .planb-calc-bar{
    gap: 0.36rem;
    margin-top: 0.04rem;
  }

  #calc-plan-b .planb-calc-actions, #calc-plan-c .planb-calc-actions{
    gap: 0.4rem;
  }

  #calc-plan-b .planb-calc-actions .btn.btn-primary, #calc-plan-c .planb-calc-actions .btn.btn-primary,
  #calc-plan-b .planb-calc-actions .btn.btn-secondary, #calc-plan-c .planb-calc-actions .btn.btn-secondary{
    min-height: 1.9rem;
    padding: 0.24rem 0.44rem;
    font-size: 0.76rem;
  }

  #calc-plan-b .planb-calc-bar .mckee-calc-out-wrap:has(#outPlanB:empty),
#calc-plan-c .planb-calc-bar .mckee-calc-out-wrap:has(#outPlanC:empty){
    padding: 0;
  }

  #calc-plan-b #outPlanB:empty,
#calc-plan-c #outPlanC:empty{
    min-height: 0.42rem;
    max-height: 0.55rem;
  }

  #calc-plan-b .planb-calc-bar .mckee-calc-out-wrap, #calc-plan-c .planb-calc-bar .mckee-calc-out-wrap{
    padding: 0;
  }

  #calc-plan-b .planb-result-title, #calc-plan-c .planb-result-title{
    font-size: 0.95rem;
    margin-bottom: 0.3rem;
  }

  #calc-plan-b .planb-result-table, #calc-plan-c .planb-result-table{
    font-size: 0.76rem;
  }

  #calc-plan-b .planb-result-table th, #calc-plan-c .planb-result-table th,
  #calc-plan-b .planb-result-table td, #calc-plan-c .planb-result-table td{
    padding: 0.3rem 0.36rem;
  }

  #calc-plan-b .planb-result-foot, #calc-plan-c .planb-result-foot{
    font-size: 0.69rem;
    line-height: 1.4;
  }

  #calc-plan-b .planb-result-alert, #calc-plan-c .planb-result-alert{
    font-size: 0.76rem;
    padding: 0.44rem 0.52rem;
    margin-bottom: 0.48rem;
  }
}

/* —— 包算通 注册/登录页（account.html）：牛皮纸色、瓦楞肌理、环境光 —— */
@keyframes box-auth-bg-drift {
  0% {
    transform: translate(0, 0) scale(1);
    opacity: 0.5;
  }
  100% {
    transform: translate(-1.5%, 1.2%) scale(1.02);
    opacity: 0.62;
  }
}

@keyframes box-auth-light-sweep {
  0%,
  100% {
    transform: translate(-8%, -6%) rotate(-8deg);
    opacity: 0.35;
  }
  50% {
    transform: translate(6%, 4%) rotate(-8deg);
    opacity: 0.7;
  }
}

@keyframes box-auth-pulse-glow {
  0% {
    transform: translate(-2.5%, 1.5%) scale(1);
    opacity: 0.5;
  }
  100% {
    transform: translate(3.5%, -2.5%) scale(1.07);
    opacity: 0.78;
  }
}

@keyframes box-auth-line-shine {
  0%,
  100% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
}

@keyframes box-auth-card-glow {
  0%,
  100% {
    box-shadow:
      0 0 0 1px rgba(180, 83, 9, 0.1),
      0 2px 0 rgba(255, 255, 255, 0.88) inset,
      0 -28px 64px -30px rgba(154, 52, 18, 0.07) inset,
      0 40px 100px rgba(0, 0, 0, 0.42),
      0 14px 36px rgba(28, 25, 23, 0.16),
      0 0 120px rgba(251, 191, 36, 0.07);
  }
  50% {
    box-shadow:
      0 0 0 1px rgba(180, 83, 9, 0.14),
      0 2px 0 rgba(255, 255, 255, 0.92) inset,
      0 -28px 64px -30px rgba(180, 83, 9, 0.09) inset,
      0 44px 110px rgba(0, 0, 0, 0.4),
      0 14px 36px rgba(28, 25, 23, 0.14),
      0 0 140px rgba(251, 191, 36, 0.12);
  }
}

@media (prefers-reduced-motion: reduce) {
  .box-auth-bg::before,
  .box-auth-bg::after,
  .box-auth-bg-pulse,
  .box-auth-brand-line,
  .box-auth-brand-slogan,
  .box-auth-card {
    animation: none !important;
  }

  .box-auth-brand-slogan {
    filter: none;
    background-position: 50% 50%;
  }

  .box-auth-bg-pulse {
    opacity: 0.62;
    transform: none;
  }

  .box-auth-page .btn-primary:hover,
  .box-auth-page .btn-primary:active,
  .box-auth-page .btn-secondary:hover {
    transform: none;
  }

  .box-auth-seg__btn.is-active {
    transform: none;
  }
}

body.app.box-auth-page {
  position: relative;
  min-height: 100vh;
  min-height: 100dvh;
  margin: 0;
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
  color: #1c1917;
  background: #050403;
  background-image: none;
}

.box-auth-bg {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(ellipse 110% 75% at 50% -18%, rgba(254, 215, 170, 0.2) 0%, transparent 58%),
    radial-gradient(ellipse 85% 58% at 108% 32%, rgba(180, 83, 9, 0.16) 0%, transparent 52%),
    radial-gradient(ellipse 72% 52% at -8% 78%, rgba(68, 64, 60, 0.22) 0%, transparent 48%),
    radial-gradient(ellipse 95% 42% at 50% 112%, rgba(120, 53, 15, 0.14) 0%, transparent 52%),
    linear-gradient(168deg, #050403 0%, #1c1917 34%, #292524 64%, #3f3a36 100%);
}

.box-auth-bg-pulse {
  position: absolute;
  inset: -28%;
  z-index: 1;
  pointer-events: none;
  background:
    radial-gradient(ellipse 58% 48% at 22% 72%, rgba(253, 186, 116, 0.12) 0%, transparent 58%),
    radial-gradient(ellipse 48% 40% at 90% 16%, rgba(254, 243, 199, 0.08) 0%, transparent 52%),
    radial-gradient(ellipse 70% 52% at 48% 105%, rgba(180, 83, 9, 0.09) 0%, transparent 56%);
  animation: box-auth-pulse-glow 22s ease-in-out infinite alternate;
}

.box-auth-bg::before {
  content: '';
  position: absolute;
  inset: -4%;
  z-index: 2;
  opacity: 0.55;
  background:
    repeating-linear-gradient(
      0deg,
      transparent 0,
      transparent 10px,
      rgba(255, 251, 245, 0.028) 10px,
      rgba(255, 251, 245, 0.028) 11px
    ),
    repeating-linear-gradient(
      92deg,
      transparent 0,
      transparent 120px,
      rgba(251, 191, 36, 0.025) 120px,
      rgba(251, 191, 36, 0.025) 121px
    );
  animation: box-auth-bg-drift 36s ease-in-out infinite alternate;
}

.box-auth-bg::after {
  content: '';
  position: absolute;
  z-index: 3;
  width: 160%;
  height: 160%;
  left: -30%;
  top: -30%;
  background: radial-gradient(closest-side at 48% 38%, rgba(255, 252, 245, 0.16), transparent 58%);
  animation: box-auth-light-sweep 22s ease-in-out infinite;
}

.box-auth-layout {
  position: relative;
  z-index: 1;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 0;
  width: 100%;
  max-width: 26.5rem;
  margin: 0 auto;
  padding: clamp(1rem, 3.2vw, 1.6rem) clamp(1rem, 4vw, 1.5rem) clamp(1rem, 3.5vw, 1.5rem);
  box-sizing: border-box;
}

.box-auth-brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  margin-bottom: 1rem;
  flex-shrink: 0;
}
.box-auth-brand-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  width: 100%;
}
.box-auth-brand-slogan {
  display: block;
  flex-shrink: 0;
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-align: center;
  line-height: 1.45;
  /* 深色底：亮金琥珀渐变，停点比首页更亮以便可读 */
  background: linear-gradient(
    105deg,
    #fffbeb 0%,
    #fde68a 18%,
    #fbbf24 40%,
    #f97316 52%,
    #fbbf24 68%,
    #fde68a 84%,
    #fffbeb 100%
  );
  background-size: 220% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  filter:
    drop-shadow(0 1px 2px rgba(0, 0, 0, 0.65))
    drop-shadow(0 0 12px rgba(251, 191, 36, 0.58))
    drop-shadow(0 0 22px rgba(249, 115, 22, 0.32));
  animation: brandSloganIn 0.75s cubic-bezier(0.22, 1, 0.36, 1) 0.08s both,
    brandSloganShimmer 5.5s ease-in-out 1.2s infinite;
}
@supports not ((-webkit-background-clip: text) or (background-clip: text)) {
  .box-auth-brand-slogan {
    color: #fcd34d;
    -webkit-text-fill-color: #fcd34d;
    background: none;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.55));
  }
}

.box-auth-brand-line {
  display: block;
  width: 4rem;
  height: 3px;
  border-radius: 3px;
  background: linear-gradient(90deg, transparent, #fde68a, #f97316, #fde68a, transparent);
  background-size: 200% 100%;
  opacity: 0.98;
  box-shadow: 0 0 12px rgba(251, 191, 36, 0.55), 0 0 24px rgba(234, 88, 12, 0.25);
  animation: box-auth-line-shine 5.5s ease-in-out infinite;
}

.box-auth-brand-name {
  font-size: clamp(1.35rem, 3.5vw, 1.65rem);
  font-weight: 800;
  letter-spacing: 0.18em;
  color: #fffef8;
  text-shadow:
    0 0 48px rgba(251, 191, 36, 0.42),
    0 0 96px rgba(234, 88, 12, 0.18),
    0 2px 6px rgba(0, 0, 0, 0.55);
}
.box-auth-brand-logo-link {
  position: relative;
  display: flex;
  align-items: center;
  line-height: 0;
  text-decoration: none;
  flex: 0 1 auto;
  min-width: 0;
}
.box-auth-brand-logo-link::before {
  display: none;
}
.box-auth-brand-logo {
  position: relative;
  z-index: 1;
  display: block;
  height: clamp(1.75rem, 5.2vw, 2.15rem);
  width: auto;
  max-width: min(90vw, 14rem);
  object-fit: contain;
  filter:
    drop-shadow(0 1px 0 rgba(255, 255, 255, 0.25))
    drop-shadow(0 4px 12px rgba(0, 0, 0, 0.35));
}

@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  .box-auth-brand-name {
    background: linear-gradient(185deg, #fffef9 12%, #fde68a 38%, #f59e0b 58%, #fdba74 88%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    text-shadow: none;
    filter:
      drop-shadow(0 2px 14px rgba(0, 0, 0, 0.6))
      drop-shadow(0 0 32px rgba(251, 191, 36, 0.45));
  }
}

.box-auth-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    linear-gradient(148deg, rgba(255, 255, 255, 0.52) 0%, rgba(255, 255, 255, 0) 45%),
    linear-gradient(180deg, #fffcf7 0%, #f5efe6 52%, #ebe3d6 100%);
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, 0.72);
  box-shadow:
    0 0 0 1px rgba(180, 83, 9, 0.1),
    0 2px 0 rgba(255, 255, 255, 0.88) inset,
    0 -28px 64px -30px rgba(154, 52, 18, 0.07) inset,
    0 40px 100px rgba(0, 0, 0, 0.42),
    0 14px 36px rgba(28, 25, 23, 0.16),
    0 0 120px rgba(251, 191, 36, 0.07);
  padding: clamp(1.4rem, 4.2vw, 1.95rem) clamp(1.15rem, 4vw, 1.65rem) clamp(1.45rem, 4.5vw, 2.05rem);
  box-sizing: border-box;
  animation: box-auth-card-glow 10s ease-in-out infinite;
}

.box-auth-card::before {
  content: '';
  position: absolute;
  pointer-events: none;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  background:
    repeating-linear-gradient(
      -14deg,
      transparent 0,
      transparent 4px,
      rgba(120, 53, 15, 0.022) 4px,
      rgba(120, 53, 15, 0.022) 5px
    ),
    linear-gradient(180deg, rgba(255, 255, 255, 0.35) 0%, transparent 28%);
  opacity: 0.85;
}

.box-auth-card::after {
  content: '';
  position: absolute;
  pointer-events: none;
  top: -40%;
  left: -20%;
  width: 70%;
  height: 55%;
  z-index: 0;
  border-radius: 50%;
  background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0.45) 0%, transparent 68%);
  opacity: 0.35;
}

.box-auth-card > * {
  position: relative;
  z-index: 1;
}

.box-auth-card-title {
  margin: 0 0 1.05rem;
  font-size: 1.28rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: #1c1917;
  text-align: center;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.65);
}

.box-auth-banner {
  margin: 0 0 1rem;
  padding: 0.55rem 0.65rem;
  border-radius: 10px;
  font-size: 0.8rem;
  line-height: 1.45;
  background: linear-gradient(180deg, rgba(254, 249, 231, 0.95) 0%, rgba(254, 243, 199, 0.88) 100%);
  border: 1px solid rgba(245, 158, 11, 0.38);
  color: #78350f;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.65) inset, 0 6px 18px rgba(180, 83, 9, 0.08);
}

.box-auth-banner--err {
  background: linear-gradient(180deg, rgba(254, 242, 242, 0.98) 0%, rgba(254, 226, 226, 0.92) 100%);
  border-color: rgba(248, 113, 113, 0.45);
  color: #991b1b;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5) inset, 0 6px 18px rgba(220, 38, 38, 0.08);
}

.box-auth-seg {
  display: flex;
  gap: 0.25rem;
  padding: 0.3rem;
  margin-bottom: 1.15rem;
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.55) 0%, rgba(231, 229, 228, 0.45) 100%);
  border: 1px solid rgba(120, 113, 108, 0.12);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.85) inset,
    0 4px 14px rgba(28, 25, 23, 0.06);
}

.box-auth-seg__btn {
  flex: 1;
  margin: 0;
  padding: 0.55rem 0.65rem;
  border: none;
  border-radius: 10px;
  font-family: inherit;
  font-size: 0.88rem;
  font-weight: 700;
  color: #57534e;
  background: transparent;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.box-auth-seg__btn:hover {
  color: #292524;
  background: rgba(255, 255, 255, 0.55);
  box-shadow: 0 2px 10px rgba(28, 25, 23, 0.05);
}

.box-auth-seg__btn.is-active {
  color: #fff;
  background: linear-gradient(180deg, #ea580c 0%, #c2410c 48%, #9a3412 100%);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.28) inset,
    0 6px 20px rgba(180, 83, 9, 0.45),
    0 0 28px rgba(251, 146, 60, 0.22);
  transform: translateY(-0.5px);
}

.box-auth-seg__btn:focus-visible {
  outline: 2px solid rgba(180, 83, 9, 0.45);
  outline-offset: 2px;
}

.box-auth-form {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.box-auth-field {
  display: flex;
  flex-direction: column;
  gap: 0.28rem;
}

.box-auth-label {
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #44403c;
}

.box-auth-input {
  width: 100%;
  box-sizing: border-box;
  padding: 0.62rem 0.75rem;
  border-radius: 10px;
  border: 1px solid rgba(120, 113, 108, 0.32);
  background: linear-gradient(180deg, #fffefb 0%, #faf8f4 100%);
  font-family: inherit;
  font-size: 0.92rem;
  color: #1c1917;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.9) inset,
    0 2px 8px rgba(28, 25, 23, 0.04);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.box-auth-input::placeholder {
  color: #a8a29e;
  font-size: 0.84rem;
}

.box-auth-input:hover {
  border-color: rgba(180, 83, 9, 0.42);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.95) inset,
    0 3px 12px rgba(180, 83, 9, 0.07);
}

.box-auth-input:focus {
  outline: none;
  border-color: #b45309;
  box-shadow:
    0 0 0 3px rgba(180, 83, 9, 0.16),
    0 1px 0 rgba(255, 255, 255, 0.95) inset,
    0 4px 16px rgba(180, 83, 9, 0.1);
}

.box-auth-remember {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.55rem;
  margin-top: 0.1rem;
  font-size: 0.82rem;
  line-height: 1.35;
  color: #44403c;
  cursor: pointer;
  user-select: none;
}

.box-auth-remember input {
  margin: 0;
  width: 1.28rem;
  height: 1.28rem;
  min-width: 1.28rem;
  min-height: 1.28rem;
  accent-color: #b45309;
  flex-shrink: 0;
}

.box-auth-remember span {
  flex: 1;
  min-width: 0;
}

.box-auth-msg {
  min-height: 1.2em;
  margin: 0;
  font-size: 0.8rem;
  font-weight: 600;
  color: #b45309;
}

.box-auth-submit {
  margin-top: 0.35rem;
  width: 100%;
  padding: 0.62rem 1rem !important;
  font-size: 0.92rem !important;
  font-weight: 700 !important;
  border-radius: 10px !important;
}

.box-auth-page .btn-primary {
  border: none;
  background: linear-gradient(180deg, #f97316 0%, #ea580c 42%, #c2410c 100%);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.32) inset,
    0 6px 22px rgba(180, 83, 9, 0.48),
    0 0 36px rgba(251, 146, 60, 0.2);
  transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.box-auth-page .btn-primary:hover {
  filter: brightness(1.06);
  transform: translateY(-1px);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.38) inset,
    0 10px 28px rgba(180, 83, 9, 0.52),
    0 0 48px rgba(251, 146, 60, 0.28);
}

.box-auth-page .btn-primary:active {
  transform: translateY(0);
  filter: brightness(0.98);
}

.box-auth-page .btn-secondary {
  background: linear-gradient(180deg, #fffefb 0%, #f5f0ea 100%);
  border: 1px solid rgba(120, 113, 108, 0.22);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset, 0 4px 14px rgba(28, 25, 23, 0.06);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.box-auth-page .btn-secondary:hover {
  border-color: rgba(180, 83, 9, 0.28);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.95) inset, 0 6px 18px rgba(28, 25, 23, 0.08);
  transform: translateY(-1px);
}

.box-auth-done {
  text-align: center;
  padding: 0.35rem 0 0.25rem;
}

.box-auth-done-user {
  margin: 0 0 1rem;
  font-size: 0.95rem;
  color: #44403c;
}

.box-auth-done-user strong {
  color: #1c1917;
  font-weight: 800;
}

.box-auth-done-actions {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

.box-auth-done-actions .btn {
  width: 100%;
  padding: 0.58rem 1rem;
  font-size: 0.88rem;
  font-weight: 700;
  border-radius: 10px;
}

@media (min-width: 480px) {
  .box-auth-done-actions {
    flex-direction: row;
  }

  .box-auth-done-actions .btn {
    flex: 1;
  }
}

/* 登录门闸：校验完成前遮住正文，避免未登录闪一下功能页 */
html.box-gate-pending::before {
  content: '验证登录中…';
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  background: #f9f6f0;
  font-family: 'Microsoft YaHei', 'PingFang SC', system-ui, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  color: #44403c;
}

html.box-gate-pending body {
  visibility: hidden;
}

/* plan-c：原纸到纸箱正向推导 */
#calc-plan-c .planc-wrap {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

#calc-plan-c .planc-section-title {
  margin: 0 0 0.35rem;
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--ink);
}

#calc-plan-c .planc-section-title--center {
  text-align: center;
}

#calc-plan-c .planc-data-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.78rem;
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 0 0 1px rgba(120, 100, 70, 0.12);
}

#calc-plan-c .planc-data-table th,
#calc-plan-c .planc-data-table td {
  border: 1px solid rgba(120, 100, 70, 0.14);
  padding: 0.38rem 0.32rem;
  text-align: center;
  vertical-align: middle;
}

#calc-plan-c .planc-data-table th {
  background: linear-gradient(180deg, #e8f5e9 0%, #d4edda 100%);
  font-weight: 700;
  font-size: 0.72rem;
  line-height: 1.35;
}

#calc-plan-c .planc-data-table tbody tr:nth-child(odd) td {
  background: #fffef8;
}

#calc-plan-c .planc-data-table tbody tr:nth-child(even) td {
  background: #f7f4ec;
}

#calc-plan-c .planc-data-table select,
#calc-plan-c .planc-data-table input[type='number'],
#calc-plan-c .planc-data-table input[type='text'] {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: 0.32rem 0.28rem;
  font-size: 0.78rem;
  text-align: center;
  border: 1px solid rgba(120, 100, 70, 0.22);
  border-radius: 4px;
  background: #fff;
}

#calc-plan-c .planc-custom-name {
  margin-top: 0.35rem;
  display: block;
}

#calc-plan-c .planc-custom-name[hidden] {
  display: none !important;
}

#calc-plan-c .planc-actions {
  white-space: nowrap;
}

#calc-plan-c .planc-btn-sm {
  padding: 0.28rem 0.45rem;
  font-size: 0.72rem;
  margin: 0 0.12rem;
}

/* plan-c：纸箱生产面板（与上方原纸层色块明显区分） */
#calc-plan-c .planb-section--carton-planc {
  margin-top: 0.2rem;
  padding: 0.3rem 0.28rem 0.26rem;
  border-radius: 10px;
  background: linear-gradient(165deg, #fff7ed 0%, #ffedd5 42%, #fed7aa 100%);
  border: 1px solid rgba(194, 65, 12, 0.42);
  box-shadow:
    0 2px 10px rgba(180, 83, 9, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

#calc-plan-c .planb-data-table--carton-planc,
#calc-kelike .planb-data-table--carton-kelike {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  display: table;
  font-size: 0.74rem;
  background: rgba(255, 255, 255, 0.72);
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 0 0 1px rgba(194, 65, 12, 0.18);
  margin-bottom: 0;
}

#calc-plan-c .planb-data-table--carton-planc tbody,
#calc-kelike .planb-data-table--carton-kelike tbody {
  display: table-row-group;
}

#calc-plan-c .planb-data-table--carton-planc tr,
#calc-kelike .planb-data-table--carton-kelike tr {
  display: table-row;
}

#calc-plan-c .planb-data-table--carton-planc th,
#calc-plan-c .planb-data-table--carton-planc td,
#calc-kelike .planb-data-table--carton-kelike th,
#calc-kelike .planb-data-table--carton-kelike td {
  display: table-cell;
}

#calc-plan-c .planb-data-table--carton-planc th,
#calc-plan-c .planb-data-table--carton-planc td {
  border: 1px solid rgba(120, 100, 70, 0.14);
  padding: 0.14rem 0.1rem;
  text-align: center;
  vertical-align: middle;
}

#calc-plan-c .planb-data-table--carton-planc tr.planb-carton-head th:not(.planb-carton-group-label) {
  background: linear-gradient(180deg, #ffedd5 0%, #fdba74 100%);
  color: #7c2d12;
  font-weight: 700;
  font-size: 0.62rem;
  line-height: 1.12;
  white-space: nowrap;
}

#calc-plan-c .planb-data-table--carton-planc .planb-carton-group-label {
  width: 1.45rem;
  min-width: 1.35rem;
  max-width: 1.55rem;
  padding: 0.18rem 0.1rem;
  font-size: 0.68rem;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: 0.12em;
  color: #fff;
  text-align: center;
  vertical-align: middle;
  white-space: normal;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  background: linear-gradient(180deg, #ea580c 0%, #c2410c 55%, #9a3412 100%);
  border-right: 2px solid rgba(124, 45, 18, 0.35);
  box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.2);
}

#calc-plan-c .planb-data-table--carton-planc .planb-carton-th-pad,
#calc-plan-c .planb-data-table--carton-planc .planb-carton-td-pad {
  padding: 0;
  border: none;
  background: transparent;
  width: 0;
  max-width: 0;
  overflow: hidden;
}

#calc-plan-c .planb-data-table--carton-planc tr.planb-carton-row:nth-child(odd) td {
  background: #fffef8;
}

#calc-plan-c .planb-data-table--carton-planc tr.planb-carton-row:nth-child(even) td {
  background: #f7f4ec;
}

#calc-plan-c .planb-data-table--carton-planc input[type='number'] {
  width: 100%;
  max-width: 8.5rem;
  margin: 0 auto;
  display: block;
  box-sizing: border-box;
  padding: 0.12rem 0.14rem;
  font-size: 0.72rem;
  line-height: 1.15;
  min-height: 1.5rem;
  border: 1px solid rgba(120, 100, 70, 0.28);
  border-radius: 5px;
  text-align: center;
}

#calc-plan-c .planb-data-table--carton-planc input[readonly] {
  background: #f1f5f9;
  color: #334155;
}

@media (max-width: 720px) {
  #calc-plan-c .planb-data-table--carton-planc {
    font-size: 0.64rem;
    margin-bottom: 0.12rem;
  }

  #calc-plan-c .planb-data-table--carton-planc tr.planb-carton-head th:not(.planb-carton-group-label) {
    font-size: 0.56rem;
    padding: 0.1rem 0.06rem;
    line-height: 1.1;
    letter-spacing: -0.02em;
  }

  #calc-plan-c .planb-data-table--carton-planc .planb-carton-group-label {
    width: 1.28rem;
    min-width: 1.22rem;
    max-width: 1.35rem;
    font-size: 0.6rem;
    padding: 0.12rem 0.06rem;
    letter-spacing: 0.08em;
  }

  #calc-plan-c .planb-section--carton-planc {
    margin-top: 0.22rem;
    padding: 0.3rem 0.24rem 0.26rem;
  }

  #calc-plan-c .planb-data-table--carton-planc tr.planb-carton-row td {
    padding: 0.1rem 0.06rem;
  }

  #calc-plan-c .planb-data-table--carton-planc input[type='number'] {
    max-width: none;
    font-size: 0.66rem;
    padding: 0.1rem 0.08rem;
    min-height: 1.42rem;
  }
}

/* 凯里卡特：纸箱与常数面板（样式对齐马基「纸箱生产」，仅 #calc-kelike） */
#calc-kelike .planb-section--carton-kelike {
  margin-top: 0.2rem;
  padding: 0.3rem 0.28rem 0.26rem;
  border-radius: 10px;
  background: linear-gradient(165deg, #fff7ed 0%, #ffedd5 42%, #fed7aa 100%);
  border: 1px solid rgba(194, 65, 12, 0.42);
  box-shadow:
    0 2px 10px rgba(180, 83, 9, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

#calc-kelike .planb-data-table--carton-kelike {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  font-size: 0.74rem;
  background: rgba(255, 255, 255, 0.72);
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 0 0 1px rgba(194, 65, 12, 0.18);
  margin-bottom: 0;
}

#calc-kelike .planb-data-table--carton-kelike th,
#calc-kelike .planb-data-table--carton-kelike td {
  border: 1px solid rgba(120, 100, 70, 0.14);
  padding: 0.14rem 0.1rem;
  text-align: center;
  vertical-align: middle;
}

#calc-kelike .planb-data-table--carton-kelike tr.planb-carton-head th:not(.planb-carton-group-label) {
  background: linear-gradient(180deg, #ffedd5 0%, #fdba74 100%);
  color: #7c2d12;
  font-weight: 700;
  font-size: 0.62rem;
  line-height: 1.12;
  white-space: nowrap;
}

#calc-kelike .planb-data-table--carton-kelike .planb-carton-group-label {
  width: 1.45rem;
  min-width: 1.35rem;
  max-width: 1.55rem;
  padding: 0.18rem 0.1rem;
  font-size: 0.68rem;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: 0.12em;
  color: #fff;
  text-align: center;
  vertical-align: middle;
  white-space: normal;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  background: linear-gradient(180deg, #ea580c 0%, #c2410c 55%, #9a3412 100%);
  border-right: 2px solid rgba(124, 45, 18, 0.35);
  box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.2);
}

#calc-kelike .planb-data-table--carton-kelike tr.planb-carton-row:nth-child(odd) td {
  background: #fffef8;
}

#calc-kelike .planb-data-table--carton-kelike tr.planb-carton-row:nth-child(even) td {
  background: #f7f4ec;
}

#calc-kelike .planb-data-table--carton-kelike input[type='number'] {
  width: 100%;
  max-width: none;
  margin: 0 auto;
  display: block;
  box-sizing: border-box;
  padding: 0.12rem 0.14rem;
  font-size: 0.72rem;
  line-height: 1.15;
  min-height: 1.5rem;
  border: 1px solid rgba(120, 100, 70, 0.28);
  border-radius: 5px;
  text-align: center;
  background: #fff;
}

#calc-kelike .planb-data-table--carton-kelike input[readonly] {
  background: #f1f5f9;
  color: #334155;
}

@media (max-width: 720px) {
  #calc-kelike .planb-data-table--carton-kelike {
    font-size: 0.64rem;
    margin-bottom: 0.12rem;
  }

  #calc-kelike .planb-data-table--carton-kelike tr.planb-carton-head th:not(.planb-carton-group-label) {
    font-size: 0.56rem;
    padding: 0.1rem 0.06rem;
    line-height: 1.1;
    letter-spacing: -0.02em;
  }

  #calc-kelike .planb-data-table--carton-kelike .planb-carton-group-label {
    width: 1.28rem;
    min-width: 1.22rem;
    max-width: 1.35rem;
    font-size: 0.6rem;
    padding: 0.12rem 0.06rem;
    letter-spacing: 0.08em;
  }

  #calc-kelike .planb-section--carton-kelike {
    margin-top: 0.22rem;
    padding: 0.3rem 0.24rem 0.26rem;
  }

  #calc-kelike .planb-data-table--carton-kelike tr.planb-carton-row td {
    padding: 0.1rem 0.06rem;
  }

  #calc-kelike .planb-data-table--carton-kelike input[type='number'] {
    max-width: none;
    font-size: 0.66rem;
    padding: 0.1rem 0.08rem;
    min-height: 1.42rem;
  }
}

#calc-plan-c .planc-calc-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  justify-content: center;
  margin: 0.35rem 0 0.15rem;
}

#calc-plan-c .planc-calc-actions .btn-primary {
  min-width: 8rem;
}

#calc-plan-c .mckee-calc-out-wrap {
  margin-top: 0.25rem;
}

#calc-plan-c .planc-result-block {
  margin-bottom: 0.75rem;
}

#calc-plan-c .planc-result-title {
  margin: 0 0 0.4rem;
  font-size: 0.9rem;
  font-weight: 700;
  color: #2d6a2d;
  text-align: center;
}

#calc-plan-c .planc-result-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.78rem;
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
}

#calc-plan-c .planc-result-table th,
#calc-plan-c .planc-result-table td {
  border: 1px solid rgba(120, 100, 70, 0.14);
  padding: 0.42rem 0.38rem;
  text-align: left;
  vertical-align: top;
}

#calc-plan-c .planc-result-table th {
  background: #e8f5e9;
  font-weight: 700;
  width: 52%;
}

#calc-plan-c .planc-result-table tbody tr:nth-child(odd) td {
  background: #fffef8;
}

#calc-plan-c .planc-result-table tbody tr:nth-child(even) td {
  background: #f7f4ec;
}


/* plan-c：去掉原纸库标签前圆点，压缩层标题行 */
#calc-plan-c .planb-head-lib-label::before {
  content: none;
  display: none;
  width: 0;
  height: 0;
}

#calc-kelike .planb-head-lib-label::before {
  content: none;
  display: none;
  width: 0;
  height: 0;
}

#calc-plan-c .planb-section-head,
#calc-kelike .planb-section-head {
  margin: 0.04rem 0 0;
  gap: 0.08rem 0.2rem;
}

#calc-plan-c .planb-section-title,
#calc-kelike .planb-section-title {
  padding: 0.05rem 0.38rem;
  font-size: 0.72rem;
  line-height: 1.08;
}

#calc-plan-c .planb-head-lib,
#calc-kelike .planb-head-lib {
  gap: 0.1rem;
  padding: 0.06rem 0.2rem;
}

#calc-plan-c .planb-head-lib-label,
#calc-kelike .planb-head-lib-label {
  font-size: 0.68rem;
  gap: 0;
}

#calc-plan-c .planb-head-lib-select,
#calc-kelike .planb-head-lib-select {
  padding: 0.06rem 0.2rem;
  font-size: 0.68rem;
}

/* plan-c：结果区无文字时仅保留薄占位条 */
#calc-plan-c #outPlanC:empty,
#calc-plan-c #outPlanC .planc-idle-hint:empty {
  min-height: 0.3rem;
  max-height: 0.36rem;
  padding: 0;
  margin: 0;
  line-height: 0;
  font-size: 0;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: rgba(250, 248, 245, 0.55);
  overflow: hidden;
}

#calc-plan-c .planb-calc-actions .btn {
  flex: 1 1 0;
  min-width: 0;
  min-height: 2.18rem;
  padding: 0.3rem 0.6rem;
  font-size: 0.8rem;
  font-weight: 600;
}

#calc-plan-c .planb-calc-bar .btn-primary {
  min-width: 0;
}

@media (max-width: 720px) {
  #calc-plan-c .planb-calc-actions .btn {
    min-height: 2.24rem;
    padding: 0.32rem 0.5rem;
    font-size: 0.82rem;
  }
}

#calc-plan-c .planc-idle-hint {
  margin: 0;
  padding: 0;
  font-size: 0;
  line-height: 0;
  color: transparent;
  min-height: 0;
}

/* plan-c：顶栏压缩，标题区与「输入与计算」之间留白尽量小 */
#ioSection.io-section--planc.block {
  padding-top: 0.15rem;
  padding-bottom: 0.68rem;
}

#ioSection.io-section--planc .io-corner-nav {
  top: 0.18rem;
  left: 0.58rem;
  right: 0.58rem;
}

/* 顶角按钮略小，减轻与标题区争抢空间 */
#ioSection.io-section--planc .io-corner-nav__tile {
  width: 2.5rem;
  height: 2.5rem;
  min-width: 2.5rem;
  min-height: 2.5rem;
  max-width: 2.5rem;
  max-height: 2.5rem;
  padding: 0.1rem 0.06rem;
  font-size: 0.62rem;
  line-height: 1.12;
  border-radius: 7px;
}

#ioSection.io-section--planc .theory-feature-name {
  margin: 0 0 0.04rem;
  padding-top: 0;
  padding-left: clamp(2.55rem, 3.5vw + 1.85rem, 5.6rem);
  padding-right: clamp(2.55rem, 3.5vw + 1.85rem, 5.6rem);
  line-height: 1.1;
  font-size: 0.95rem;
}

#ioSection.io-section--planc .theory-title-row {
  margin: 0 0 0.12rem;
  padding-top: 0;
  padding-bottom: 0.14rem;
  padding-left: clamp(2.55rem, 3.5vw + 1.85rem, 5.6rem);
  padding-right: clamp(2.55rem, 3.5vw + 1.85rem, 5.6rem);
}

@media (min-width: 721px) {
  #ioSection.io-section--planc .io-corner-nav {
    top: 0.16rem;
  }

  #ioSection.io-section--planc .io-corner-nav__tile {
    width: 2.45rem;
    height: 2.45rem;
    min-width: 2.45rem;
    min-height: 2.45rem;
    max-width: 2.45rem;
    max-height: 2.45rem;
    font-size: 0.6rem;
  }

  #ioSection.io-section--planc .theory-title-row {
    margin-bottom: 0.14rem;
    padding-bottom: 0.16rem;
  }
}

@media (max-width: 720px) {
  #ioSection.io-section--planc.block {
    padding-top: 0.22rem;
  }

  #ioSection.io-section--planc .io-corner-nav {
    top: 0.22rem;
  }

  #ioSection.io-section--planc .io-corner-nav__tile {
    width: 2.4rem;
    height: 2.4rem;
    min-width: 2.4rem;
    min-height: 2.4rem;
    max-width: 2.4rem;
    max-height: 2.4rem;
    font-size: 0.58rem;
  }

  #ioSection.io-section--planc .theory-feature-name {
    font-size: 0.93rem;
    line-height: 1.18;
    margin-bottom: 0.04rem;
  }

  #ioSection.io-section--planc .theory-title-row {
    margin-bottom: 0.1rem;
    padding-bottom: 0.12rem;
  }

  .io-section--planc .scroll-panel.calc-form-scroll {
    padding-top: 0.08rem;
  }

  #calc-plan-c .box0201-layer-pick {
    margin-top: 0;
    margin-bottom: 0.06rem;
  }
}

.io-section--planc .scroll-panel.calc-form-scroll {
  padding-top: 0.1rem;
}

/* plan-c：纵向紧凑（仅手机，桌面走下方 min-width:721px 规则） */
@media (max-width: 720px) {
#ioSection.io-section--planc #calc-plan-c .box0201-layer-pick {
  margin: 0 0 0.1rem;
}

#ioSection.io-section--planc #calc-plan-c .box0201-layer-pick__face {
  min-height: 1.38rem;
  padding: 0.1rem 0.2rem;
  gap: 0.16rem;
}

#ioSection.io-section--planc #calc-plan-c .box0201-layer-pick__title {
  font-size: 0.84rem;
  line-height: 1.14;
}

#ioSection.io-section--planc #calc-plan-c .box0201-layer-pick__state {
  font-size: 0.54rem;
  line-height: 1.08;
}

#ioSection.io-section--planc #calc-plan-c .planb-wrap {
  gap: 0.12rem;
}

#ioSection.io-section--planc #calc-plan-c .planb-layer-card {
  padding: 0.12rem 0.26rem 0.13rem;
  border-radius: 8px;
}

#ioSection.io-section--planc #calc-plan-c .planb-layer-card .planb-section-head {
  margin: 0 0 0.04rem;
  padding-bottom: 0;
}

#ioSection.io-section--planc #calc-plan-c .planb-section-head {
  margin: 0;
  gap: 0.07rem 0.16rem;
}

#ioSection.io-section--planc #calc-plan-c .planb-section-title {
  padding: 0.04rem 0.32rem;
  font-size: 0.7rem;
  line-height: 1.06;
}

#ioSection.io-section--planc #calc-plan-c .planb-gbr-caret {
  width: 0.38rem;
  height: 0.38rem;
  margin-left: 0.08rem;
}

#ioSection.io-section--planc #calc-plan-c .planb-head-lib {
  padding: 0.05rem 0.14rem;
  gap: 0.08rem;
}

#ioSection.io-section--planc #calc-plan-c .planb-head-lib-label {
  font-size: 0.64rem;
}

#ioSection.io-section--planc #calc-plan-c .planb-head-lib-select {
  padding: 0.05rem 0.16rem;
  font-size: 0.64rem;
  min-height: 0;
}

#ioSection.io-section--planc #calc-plan-c .planb-form-table {
  margin-bottom: 0.04rem;
  font-size: 0.7rem;
}

#ioSection.io-section--planc #calc-plan-c .planb-form-table th,
#ioSection.io-section--planc #calc-plan-c .planb-form-table td {
  padding: 0.1rem 0.17rem;
}

#ioSection.io-section--planc #calc-plan-c .planb-form-table thead tr > th {
  padding-top: 0.05rem;
  padding-bottom: 0.05rem;
  font-size: 0.62rem;
  line-height: 1.08;
}

#ioSection.io-section--planc #calc-plan-c .planb-form-table tbody tr.planb-row-meta > td {
  padding-top: 0.04rem;
  padding-bottom: 0.04rem;
}

#ioSection.io-section--planc #calc-plan-c .planb-form-table input,
#ioSection.io-section--planc #calc-plan-c .planb-form-table select {
  padding: 0.12rem 0.18rem;
  font-size: 0.67rem;
  min-height: 1.48rem;
}

#ioSection.io-section--planc #calc-plan-c .planb-form-table tbody tr.planb-row-meta .planb-product-search,
#ioSection.io-section--planc #calc-plan-c .planb-form-table tbody tr.planb-row-meta > td:nth-child(2) select {
  padding: 0.11rem 0.19rem;
  font-size: 0.64rem;
  min-height: 1.48rem;
  line-height: 1.12;
}

#ioSection.io-section--planc #calc-plan-c .planb-flute-stretch-row {
  gap: 0.16rem;
}

#ioSection.io-section--planc #calc-plan-c .planb-flute-stretch-td {
  padding: 0.04rem 0.16rem 0.05rem;
}

#ioSection.io-section--planc #calc-plan-c .planb-flute-stretch-label {
  font-size: 0.62rem;
}

#ioSection.io-section--planc #calc-plan-c tr.planb-head-gbr .planb-gbr-head-td {
  padding: 0.05rem 0.16rem;
}

#ioSection.io-section--planc #calc-plan-c .planb-gbr-head-cell {
  font-size: 0.6rem;
  line-height: 1.1;
}

#ioSection.io-section--planc #calc-plan-c .planb-row-gbr td {
  padding: 0.08rem 0.16rem 0.06rem;
}

#ioSection.io-section--planc #calc-plan-c .planb-data-table--carton-planc th,
#ioSection.io-section--planc #calc-plan-c .planb-data-table--carton-planc td {
  padding: 0.09rem 0.08rem;
}

#ioSection.io-section--planc #calc-plan-c .planb-data-table--carton-planc tr.planb-carton-head th:not(.planb-carton-group-label) {
  font-size: 0.58rem;
  line-height: 1.08;
  padding: 0.06rem 0.05rem;
}

#ioSection.io-section--planc #calc-plan-c .planb-carton-group-label {
  width: 1.28rem;
  min-width: 1.2rem;
  max-width: 1.34rem;
  padding: 0.12rem 0.06rem;
  font-size: 0.6rem;
  letter-spacing: 0.08em;
}

#ioSection.io-section--planc #calc-plan-c .planb-data-table--carton-planc input[type='number'] {
  padding: 0.1rem 0.12rem;
  font-size: 0.68rem;
  min-height: 1.44rem;
  line-height: 1.12;
}

#ioSection.io-section--kelike #calc-kelike .planb-data-table--carton-kelike th,
#ioSection.io-section--kelike #calc-kelike .planb-data-table--carton-kelike td {
  padding: 0.09rem 0.08rem;
}

#ioSection.io-section--kelike #calc-kelike .planb-data-table--carton-kelike tr.planb-carton-head th:not(.planb-carton-group-label) {
  font-size: 0.58rem;
  line-height: 1.08;
  padding: 0.06rem 0.05rem;
}

#ioSection.io-section--kelike #calc-kelike .planb-data-table--carton-kelike .planb-carton-group-label {
  width: 1.28rem;
  min-width: 1.2rem;
  max-width: 1.34rem;
  padding: 0.12rem 0.06rem;
  font-size: 0.6rem;
  letter-spacing: 0.08em;
}

#ioSection.io-section--kelike #calc-kelike .planb-data-table--carton-kelike input[type='number'] {
  padding: 0.1rem 0.12rem;
  font-size: 0.68rem;
  min-height: 1.44rem;
  line-height: 1.12;
}

#ioSection.io-section--planc #calc-plan-c .planb-calc-bar {
  gap: 0.32rem;
  margin-top: 0.12rem;
}

#ioSection.io-section--planc #calc-plan-c .planb-calc-actions {
  gap: 0.42rem;
}

#ioSection.io-section--planc #calc-plan-c .planc-result-block {
  margin-bottom: 0.35rem;
}

#ioSection.io-section--planc #calc-plan-c .planc-result-title {
  margin: 0 0 0.22rem;
  font-size: 0.82rem;
}

#ioSection.io-section--planc #calc-plan-c .planc-result-table th,
#ioSection.io-section--planc #calc-plan-c .planc-result-table td {
  padding: 0.24rem 0.22rem;
  font-size: 0.72rem;
}
}

#ioSection.io-section--planc .io-actions--bar {
  margin-top: 0.28rem;
  padding-top: 0.3rem;
}

#ioSection.io-section--planc .io-actions--report-only .btn-report-main {
  min-height: 2.58rem;
  padding-top: 0.56rem;
  padding-bottom: 0.56rem;
  font-size: 0.84rem;
}

#ioSection.io-section--planc .theory-feature-name {
  margin: 0 0 0.04rem;
  line-height: 1.1;
}

#ioSection.io-section--planc .theory-title-row {
  margin: 0 0 0.08rem;
  padding-bottom: 0.1rem;
}

@media (max-width: 720px) {
  #ioSection.io-section--planc.block {
    padding-top: 0.1rem;
    padding-bottom: 0.48rem;
  }

  #ioSection.io-section--planc .theory-feature-name {
    font-size: 0.9rem;
    line-height: 1.14;
    margin-bottom: 0.04rem;
  }

  #ioSection.io-section--planc .theory-title-row {
    margin-bottom: 0.07rem;
    padding-bottom: 0.08rem;
  }

  #ioSection.io-section--planc #calc-plan-c .planb-layer-card {
    padding: 0.12rem 0.24rem 0.14rem;
  }

  #ioSection.io-section--planc #calc-plan-c .planb-section--carton-planc {
    margin-top: 0.14rem;
    padding: 0.22rem 0.22rem 0.2rem;
  }

  #ioSection.io-section--planc #calc-plan-c .planb-data-table--carton-planc {
    margin-bottom: 0;
  }

  #ioSection.io-section--kelike #calc-kelike .planb-section--carton-kelike {
    margin-top: 0.1rem;
    padding: 0.16rem 0.18rem 0.14rem;
  }

  #ioSection.io-section--kelike #calc-kelike .planb-data-table--carton-kelike {
    margin-bottom: 0;
  }

  #ioSection.io-section--planc #calc-plan-c #outPlanC:empty {
    min-height: 0.26rem;
    max-height: 0.32rem;
  }

  #ioSection.io-section--planc .io-actions--report-only .btn-report-main {
    min-height: 2.48rem;
    font-size: 0.82rem;
  }
}

/* plan-c：桌面端纵向间距（适中；无内滚；手机走 max-width:720px 紧凑规则） */
@media (min-width: 721px) {
  .page.page--layout.page--calc-planc {
    padding-top: 0.22rem;
  }

  .page.page--layout.page--calc-planc .page-head--compact {
    margin-bottom: 0.11rem;
  }

  #ioSection.io-section--planc.block {
    padding-top: 0.27rem;
    padding-bottom: 1rem;
  }

  #ioSection.io-section--planc .theory-feature-name {
    margin-bottom: 0.1rem;
    line-height: 1.235;
    font-size: 0.95rem;
  }

  #ioSection.io-section--planc .theory-title-row {
    margin-bottom: 0.135rem;
    padding-bottom: 0.135rem;
  }

  #ioSection.io-section--planc .scroll-panel.calc-form-scroll {
    padding-top: 0.12rem;
    overflow-y: visible;
    overflow-x: hidden;
  }

  #calc-plan-c .planb-section-head {
    margin: 0.06rem 0 0.04rem;
    gap: 0.1rem 0.24rem;
  }

  #calc-plan-c .planb-section-title {
    font-size: 0.78rem;
    line-height: 1.14;
    padding: 0.06rem 0.38rem;
  }

  #calc-plan-c .planb-head-lib {
    padding: 0.06rem 0.175rem;
    gap: 0.095rem;
  }

  #calc-plan-c .planb-head-lib-label {
    font-size: 0.695rem;
  }

  #calc-plan-c .planb-head-lib-select {
    font-size: 0.72rem;
    padding: 0.07rem 0.22rem;
    min-height: 1.57rem;
  }

  #calc-plan-c .planb-section--carton-planc {
    margin-top: 0.31rem;
    padding: 0.41rem 0.38rem 0.37rem;
  }

  #calc-kelike .planb-section--carton-kelike {
    margin-top: 0.31rem;
    padding: 0.41rem 0.38rem 0.37rem;
  }

  #ioSection.io-section--planc #calc-plan-c .box0201-layer-pick {
    margin: 0.04rem 0 0.095rem;
  }

  #ioSection.io-section--planc #calc-plan-c .box0201-layer-pick__face {
    min-height: 1.42rem;
    padding: 0.1rem 0.2rem;
    gap: 0.18rem;
  }

  #ioSection.io-section--planc #calc-plan-c .box0201-layer-pick__title {
    font-size: 0.84rem;
    line-height: 1.14;
  }

  #ioSection.io-section--planc #calc-plan-c .planb-wrap {
    gap: 0.205rem;
  }

  #ioSection.io-section--planc #calc-plan-c .planb-layer-card {
    padding: 0.27rem 0.39rem 0.31rem;
  }

  #ioSection.io-section--planc #calc-plan-c .planb-layer-card .planb-section-head {
    margin: 0 0 0.075rem;
    padding-bottom: 0.06rem;
  }

  #ioSection.io-section--planc #calc-plan-c .planb-form-table {
    margin-bottom: 0.06rem;
    font-size: 0.74rem;
  }

  #ioSection.io-section--planc #calc-plan-c .planb-form-table th,
  #ioSection.io-section--planc #calc-plan-c .planb-form-table td {
    padding: 0.13rem 0.24rem;
  }

  #ioSection.io-section--planc #calc-plan-c .planb-form-table thead tr > th {
    font-size: 0.68rem;
    padding-top: 0.08rem;
    padding-bottom: 0.08rem;
  }

  #ioSection.io-section--planc #calc-plan-c .planb-form-table tbody tr.planb-row-meta > td {
    padding-top: 0.062rem;
    padding-bottom: 0.062rem;
  }

  #ioSection.io-section--planc #calc-plan-c .planb-form-table input,
  #ioSection.io-section--planc #calc-plan-c .planb-form-table select {
    padding: 0.13rem 0.21rem;
    font-size: 0.74rem;
    min-height: 1.71rem;
  }

  #ioSection.io-section--planc #calc-plan-c .planb-form-table tbody tr.planb-row-meta .planb-product-search,
  #ioSection.io-section--planc #calc-plan-c .planb-form-table tbody tr.planb-row-meta > td:nth-child(2) select {
    font-size: 0.72rem;
    padding: 0.13rem 0.24rem;
    min-height: 1.73rem;
    line-height: 1.18;
  }

  #ioSection.io-section--planc #calc-plan-c tr.planb-head-gbr .planb-gbr-head-td {
    padding: 0.065rem 0.17rem;
  }

  #ioSection.io-section--planc #calc-plan-c .planb-row-gbr td {
    padding: 0.085rem 0.17rem 0.065rem;
  }

  #ioSection.io-section--planc #calc-plan-c .planb-flute-stretch-td {
    padding: 0.045rem 0.17rem 0.065rem;
  }

  #ioSection.io-section--planc #calc-plan-c .planb-gbr-head-row,
  #ioSection.io-section--planc #calc-plan-c .planb-gbr-input-row,
  #ioSection.io-section--planc #calc-plan-c .planb-flute-stretch-row {
    gap: 0.17rem;
  }

  #ioSection.io-section--planc #calc-plan-c .planb-data-table--carton-planc th,
  #ioSection.io-section--planc #calc-plan-c .planb-data-table--carton-planc td {
    padding: 0.11rem 0.09rem;
  }

  #ioSection.io-section--planc #calc-plan-c .planb-data-table--carton-planc tr.planb-carton-head th:not(.planb-carton-group-label) {
    font-size: 0.6rem;
    padding: 0.06rem 0.05rem;
  }

  #ioSection.io-section--planc #calc-plan-c .planb-carton-group-label {
    width: 1.32rem;
    min-width: 1.24rem;
    max-width: 1.38rem;
    padding: 0.12rem 0.06rem;
    font-size: 0.62rem;
  }

  #ioSection.io-section--planc #calc-plan-c .planb-data-table--carton-planc input[type='number'] {
    min-height: 1.6rem;
    padding: 0.135rem 0.155rem;
    font-size: 0.725rem;
  }

  #ioSection.io-section--kelike #calc-kelike .planb-data-table--carton-kelike th,
  #ioSection.io-section--kelike #calc-kelike .planb-data-table--carton-kelike td {
    padding: 0.08rem 0.07rem;
  }

  #ioSection.io-section--kelike #calc-kelike .planb-data-table--carton-kelike tr.planb-carton-head th:not(.planb-carton-group-label) {
    font-size: 0.58rem;
    padding: 0.04rem 0.04rem;
  }

  #ioSection.io-section--kelike #calc-kelike .planb-data-table--carton-kelike .planb-carton-group-label {
    width: 1.28rem;
    min-width: 1.2rem;
    max-width: 1.34rem;
    padding: 0.09rem 0.05rem;
    font-size: 0.6rem;
  }

  #ioSection.io-section--kelike #calc-kelike .planb-data-table--carton-kelike input[type='number'] {
    min-height: 1.48rem;
    padding: 0.1rem 0.12rem;
    font-size: 0.7rem;
  }

  #ioSection.io-section--planc #calc-plan-c .planb-calc-bar {
    gap: 0.49rem;
    margin-top: 0.25rem;
  }

  #ioSection.io-section--planc #calc-plan-c .planb-calc-actions {
    gap: 0.45rem;
  }

  #ioSection.io-section--planc #calc-plan-c .planb-calc-actions .btn.btn-primary,
  #ioSection.io-section--planc #calc-plan-c .planb-calc-actions .btn.btn-secondary {
    min-height: 2.15rem;
    padding: 0.34rem 0.76rem;
    font-size: 0.82rem;
  }

  #ioSection.io-section--planc #calc-plan-c #outPlanC:empty {
    min-height: 0.34rem;
    max-height: 0.44rem;
  }

  #ioSection.io-section--planc #calc-plan-c .planc-result-table th,
  #ioSection.io-section--planc #calc-plan-c .planc-result-table td {
    padding: 0.26rem 0.24rem;
    font-size: 0.74rem;
  }

  #ioSection.io-section--planc .io-actions--bar {
    margin-top: 0.4rem;
    padding-top: 0.42rem;
  }

  #ioSection.io-section--planc .io-actions--report-only .btn-report-main {
    min-height: 2.68rem;
    padding-top: 0.62rem;
    padding-bottom: 0.62rem;
    font-size: 0.85rem;
  }
}

/* 凯里卡特：五层纸区布局/间距/配色与马基(plan-c) 一致（仅 io-section--kelike + #calc-kelike） */
.io-section--kelike .scroll-panel.calc-form-scroll {
  padding-top: 0.1rem;
}

/* 顶角按钮与层数切换条、色块：留出左右安全区，避免贴边挤压 */
#ioSection.io-section--kelike .io-corner-nav {
  top: 0.2rem;
  left: 0.55rem;
  right: 0.55rem;
}

#ioSection.io-section--kelike .io-corner-nav__tile {
  width: 2.5rem;
  height: 2.5rem;
  min-width: 2.5rem;
  min-height: 2.5rem;
  max-width: 2.5rem;
  max-height: 2.5rem;
  padding: 0.1rem 0.06rem;
  font-size: 0.62rem;
  line-height: 1.12;
  border-radius: 7px;
}

#ioSection.io-section--kelike .theory-feature-name {
  margin: 0 0 0.08rem;
  padding-top: 0;
  padding-left: clamp(3rem, 4.2vw + 2.2rem, 6.4rem);
  padding-right: clamp(3rem, 4.2vw + 2.2rem, 6.4rem);
  line-height: 1.14;
  font-size: 0.95rem;
}

#ioSection.io-section--kelike .theory-title-row {
  margin: 0 0 0.12rem;
  padding-top: 0;
  padding-bottom: 0.14rem;
  padding-left: clamp(3rem, 4.2vw + 2.2rem, 6.4rem);
  padding-right: clamp(3rem, 4.2vw + 2.2rem, 6.4rem);
}

/* 层数切换：与下方色块同宽（全宽），仅留上下间距 */
#calc-kelike .box0201-layer-pick,
#ioSection.io-section--kelike #calc-kelike > .box0201-layer-pick {
  margin: 0.12rem 0 0.14rem;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

#calc-kelike .box0201-layer-pick__bar {
  width: 100%;
}

#calc-kelike .box0201-layer-pick__face {
  min-height: 1.55rem;
  padding: 0.14rem 0.24rem;
  gap: 0.2rem;
}

#calc-kelike .box0201-layer-pick__title {
  font-size: 0.84rem;
  line-height: 1.18;
}

#calc-kelike .box0201-layer-pick__state {
  font-size: 0.56rem;
  line-height: 1.1;
}

#calc-kelike .planb-wrap {
  gap: 0.24rem;
}

#calc-kelike .planb-layer-card {
  padding: 0.18rem 0.34rem 0.17rem;
}

#calc-kelike .planb-layer-card .planb-section-head {
  margin: 0 0 0.06rem;
  padding-bottom: 0.06rem;
}

#calc-kelike .planb-section--carton-kelike {
  margin-top: 0.14rem;
}

#ioSection.io-section--kelike .io-actions--bar {
  margin-top: 0.22rem;
  padding-top: 0.26rem;
}

@media (max-width: 720px) {
  .page.page--layout.page--calc-kelike {
    padding-top: 0.14rem;
  }

  .page.page--layout.page--calc-kelike .page-head--compact {
    margin-bottom: 0.06rem;
  }

  #ioSection.io-section--kelike.block {
    padding-top: 0.06rem;
    padding-bottom: 0.34rem;
  }

  #ioSection.io-section--kelike .io-corner-nav {
    top: 0.16rem;
    left: 0.5rem;
    right: 0.5rem;
  }

  #ioSection.io-section--kelike .io-corner-nav__tile {
    width: 2.28rem;
    height: 2.28rem;
    min-width: 2.28rem;
    min-height: 2.28rem;
    max-width: 2.28rem;
    max-height: 2.28rem;
    font-size: 0.56rem;
    padding: 0.08rem 0.05rem;
  }

  #calc-kelike .box0201-layer-pick,
  #ioSection.io-section--kelike #calc-kelike .box0201-layer-pick,
  #ioSection.io-section--kelike #calc-kelike > .box0201-layer-pick {
    margin: 0.05rem 0 0.07rem;
    width: 100%;
  }

  /* 手机：纵向略压缩，仍保留可点区域 */
  #calc-kelike .box0201-layer-pick__face,
  #ioSection.io-section--kelike #calc-kelike .box0201-layer-pick__face {
    min-height: 1.92rem;
    padding: 0.11rem 0.22rem;
    gap: 0.12rem;
  }

  #calc-kelike .box0201-layer-pick__title,
  #ioSection.io-section--kelike #calc-kelike .box0201-layer-pick__title {
    font-size: 0.84rem;
    line-height: 1.1;
  }

  #calc-kelike .box0201-layer-pick__state,
  #ioSection.io-section--kelike #calc-kelike .box0201-layer-pick__state {
    font-size: 0.52rem;
    line-height: 1.04;
  }

  #ioSection.io-section--kelike #calc-kelike .planb-wrap {
    gap: 0.14rem;
  }

  #ioSection.io-section--kelike #calc-kelike .planb-layer-card,
  #calc-kelike .planb-layer-card {
    padding: 0.12rem 0.28rem 0.11rem;
    border-radius: 8px;
  }

  #ioSection.io-section--kelike #calc-kelike .planb-layer-card .planb-section-head {
    margin: 0 0 0.04rem;
    padding-bottom: 0.03rem;
  }

  #ioSection.io-section--kelike #calc-kelike .planb-section-head {
    margin: 0.03rem 0 0.04rem;
    gap: 0.08rem 0.16rem;
  }

  #ioSection.io-section--kelike #calc-kelike .planb-section-title {
    padding: 0.03rem 0.28rem;
    font-size: 0.68rem;
    line-height: 1.04;
  }

  #ioSection.io-section--kelike #calc-kelike .planb-gbr-caret {
    width: 0.38rem;
    height: 0.38rem;
    margin-left: 0.08rem;
  }

  #ioSection.io-section--kelike #calc-kelike .planb-head-lib {
    padding: 0.05rem 0.14rem;
    gap: 0.08rem;
  }

  #ioSection.io-section--kelike #calc-kelike .planb-head-lib-label {
    font-size: 0.64rem;
  }

  #ioSection.io-section--kelike #calc-kelike .planb-head-lib-select {
    padding: 0.05rem 0.16rem;
    font-size: 0.64rem;
    min-height: 0;
  }

  #ioSection.io-section--kelike #calc-kelike .planb-form-table {
    margin-bottom: 0.02rem;
    font-size: 0.68rem;
  }

  #ioSection.io-section--kelike #calc-kelike .planb-form-table th,
  #ioSection.io-section--kelike #calc-kelike .planb-form-table td {
    padding: 0.09rem 0.16rem;
  }

  #ioSection.io-section--kelike #calc-kelike .planb-form-table thead tr > th {
    padding-top: 0.03rem;
    padding-bottom: 0.03rem;
    font-size: 0.6rem;
    line-height: 1.06;
  }

  #ioSection.io-section--kelike #calc-kelike .planb-form-table tbody tr.planb-row-meta > td {
    padding-top: 0.03rem;
    padding-bottom: 0.03rem;
  }

  #ioSection.io-section--kelike #calc-kelike .planb-form-table input,
  #ioSection.io-section--kelike #calc-kelike .planb-form-table select {
    padding: 0.09rem 0.14rem;
    font-size: 0.65rem;
    min-height: 1.38rem;
  }

  #ioSection.io-section--kelike #calc-kelike .planb-form-table tbody tr.planb-row-meta .planb-product-search,
  #ioSection.io-section--kelike #calc-kelike .planb-form-table tbody tr.planb-row-meta > td:nth-child(2) select {
    padding: 0.08rem 0.14rem;
    font-size: 0.62rem;
    min-height: 1.38rem;
    line-height: 1.08;
  }

  #ioSection.io-section--kelike #calc-kelike .planb-flute-stretch-row {
    gap: 0.12rem;
  }

  #ioSection.io-section--kelike #calc-kelike .planb-flute-stretch-td {
    padding: 0.03rem 0.12rem 0.04rem;
  }

  #ioSection.io-section--kelike #calc-kelike .planb-flute-stretch-label {
    font-size: 0.6rem;
  }

  #ioSection.io-section--kelike #calc-kelike tr.planb-head-gbr .planb-gbr-head-td {
    padding: 0.04rem 0.12rem;
  }

  #ioSection.io-section--kelike #calc-kelike .planb-gbr-head-cell {
    font-size: 0.58rem;
    line-height: 1.08;
  }

  #ioSection.io-section--kelike #calc-kelike .planb-row-gbr td {
    padding: 0.06rem 0.12rem 0.05rem;
  }

  #ioSection.io-section--kelike .theory-feature-name {
    font-size: 0.86rem;
    margin-bottom: 0.04rem;
    line-height: 1.1;
    padding-left: clamp(2.85rem, 4vw + 2rem, 6rem);
    padding-right: clamp(2.85rem, 4vw + 2rem, 6rem);
  }

  #ioSection.io-section--kelike .theory-title-row {
    margin-bottom: 0.07rem;
    padding-bottom: 0.07rem;
    padding-left: clamp(2.85rem, 4vw + 2rem, 6rem);
    padding-right: clamp(2.85rem, 4vw + 2rem, 6rem);
  }

  .io-section--kelike .scroll-panel.calc-form-scroll {
    padding-top: 0.02rem;
  }

  #calc-kelike .planb-section--carton-kelike {
    margin-top: 0.08rem;
  }

  #calc-kelike .planb-calc-bar {
    gap: 0.1rem;
    margin-top: 0.04rem;
  }

  #calc-kelike .kelike-result-wrap.is-empty {
    min-height: 0.38rem;
    max-height: 0.42rem;
  }

  #calc-kelike .kelike-result-wrap:not(.is-empty) {
    padding: 0.28rem 0.36rem 0.3rem;
  }

  #calc-kelike .kelike-result-heading {
    margin: 0.24rem 0 0.16rem;
    font-size: 0.68rem;
  }

  #calc-kelike .kelike-result-line {
    margin: 0 0 0.14rem;
    font-size: 0.68rem;
    line-height: 1.32;
  }

  #calc-kelike .kelike-result-group {
    margin: 0 0 0.18rem;
    font-size: 0.72rem;
    line-height: 1.28;
  }

  #ioSection.io-section--kelike .io-actions--bar {
    margin-top: 0.12rem;
    padding-top: 0.16rem;
  }
}

@media (min-width: 721px) {
  #ioSection.io-section--kelike.block {
    padding-top: 0.12rem;
    padding-bottom: 0.48rem;
  }

  #ioSection.io-section--kelike .io-corner-nav {
    top: 0.18rem;
  }

  #ioSection.io-section--kelike .io-corner-nav__tile {
    width: 2.45rem;
    height: 2.45rem;
    min-width: 2.45rem;
    min-height: 2.45rem;
    max-width: 2.45rem;
    max-height: 2.45rem;
    font-size: 0.6rem;
  }

  #ioSection.io-section--kelike .theory-feature-name {
    margin-bottom: 0.08rem;
    font-size: 0.95rem;
  }

  #ioSection.io-section--kelike .theory-title-row {
    margin-bottom: 0.12rem;
    padding-bottom: 0.14rem;
  }

  #ioSection.io-section--kelike .scroll-panel.calc-form-scroll {
    padding-top: 0.1rem;
  }

  #calc-kelike .box0201-layer-pick,
  #ioSection.io-section--kelike #calc-kelike .box0201-layer-pick,
  #ioSection.io-section--kelike #calc-kelike > .box0201-layer-pick {
    margin: 0.14rem 0 0.16rem;
    width: 100%;
  }

  #calc-kelike .box0201-layer-pick__face,
  #ioSection.io-section--kelike #calc-kelike .box0201-layer-pick__face {
    min-height: 1.62rem;
    padding: 0.16rem 0.28rem;
    gap: 0.22rem;
  }

  #calc-kelike .box0201-layer-pick__title,
  #ioSection.io-section--kelike #calc-kelike .box0201-layer-pick__title {
    font-size: 0.88rem;
    line-height: 1.18;
  }

  #ioSection.io-section--kelike .io-actions--bar {
    margin-top: 0.2rem;
    padding-top: 0.24rem;
  }

  #calc-kelike .planb-calc-bar {
    gap: 0.16rem;
  }

  #calc-kelike .kelike-result-wrap.is-empty {
    min-height: 0.65rem;
    max-height: 0.72rem;
  }

  #ioSection.io-section--kelike #calc-kelike .planb-wrap,
  #calc-kelike .planb-wrap {
    gap: 0.24rem;
  }

  #ioSection.io-section--kelike #calc-kelike .planb-layer-card,
  #calc-kelike .planb-layer-card {
    padding: 0.2rem 0.4rem 0.22rem;
  }

  #ioSection.io-section--kelike #calc-kelike .planb-layer-card .planb-section-head {
    margin: 0 0 0.08rem;
    padding-bottom: 0.06rem;
  }

  #ioSection.io-section--kelike #calc-kelike .planb-section-head {
    margin: 0.06rem 0 0.06rem;
    gap: 0.1rem 0.24rem;
  }

  #ioSection.io-section--kelike #calc-kelike .planb-section-title {
    font-size: 0.78rem;
    line-height: 1.14;
    padding: 0.06rem 0.38rem;
  }

  #ioSection.io-section--kelike #calc-kelike .planb-head-lib {
    padding: 0.06rem 0.175rem;
    gap: 0.095rem;
  }

  #ioSection.io-section--kelike #calc-kelike .planb-head-lib-label {
    font-size: 0.695rem;
  }

  #ioSection.io-section--kelike #calc-kelike .planb-head-lib-select {
    font-size: 0.72rem;
    padding: 0.07rem 0.22rem;
    min-height: 1.57rem;
  }

  #ioSection.io-section--kelike #calc-kelike .planb-form-table {
    margin-bottom: 0.06rem;
    font-size: 0.74rem;
  }

  #ioSection.io-section--kelike #calc-kelike .planb-form-table th,
  #ioSection.io-section--kelike #calc-kelike .planb-form-table td {
    padding: 0.13rem 0.24rem;
  }

  #ioSection.io-section--kelike #calc-kelike .planb-form-table thead tr > th {
    font-size: 0.68rem;
    padding-top: 0.08rem;
    padding-bottom: 0.08rem;
  }

  #ioSection.io-section--kelike #calc-kelike .planb-form-table tbody tr.planb-row-meta > td {
    padding-top: 0.062rem;
    padding-bottom: 0.062rem;
  }

  #ioSection.io-section--kelike #calc-kelike .planb-form-table input,
  #ioSection.io-section--kelike #calc-kelike .planb-form-table select {
    padding: 0.13rem 0.21rem;
    font-size: 0.74rem;
    min-height: 1.71rem;
  }

  #ioSection.io-section--kelike #calc-kelike .planb-form-table tbody tr.planb-row-meta .planb-product-search,
  #ioSection.io-section--kelike #calc-kelike .planb-form-table tbody tr.planb-row-meta > td:nth-child(2) select {
    font-size: 0.72rem;
    padding: 0.13rem 0.24rem;
    min-height: 1.73rem;
    line-height: 1.18;
  }

  #ioSection.io-section--kelike #calc-kelike tr.planb-head-gbr .planb-gbr-head-td {
    padding: 0.07rem 0.2rem 0.06rem;
  }

  #ioSection.io-section--kelike #calc-kelike .planb-row-gbr td {
    padding: 0.1rem 0.2rem 0.08rem;
  }

  #ioSection.io-section--kelike #calc-kelike .planb-section--carton-kelike {
    margin-top: 0.16rem;
    padding: 0.22rem 0.24rem 0.2rem;
  }
}

/* 凯里卡特五层纸区：与 #calc-plan-c 同结构（planb-wrap--planc-mirror） */
#calc-kelike .planb-wrap--planc-mirror {
  width: 100%;
}

/* 凯里卡特：计算栏按钮与结果区（对齐马基 plan-c） */
#calc-kelike .planb-calc-bar {
  margin-top: 0.06rem;
  margin-bottom: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.16rem;
}

#calc-kelike .kelike-calc-actions,
#calc-kelike .planb-calc-actions.kelike-calc-actions {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  width: 100%;
  box-sizing: border-box;
}

#calc-kelike .planb-calc-actions .btn {
  flex: 1 1 0;
  min-width: 0;
  min-height: 2.18rem;
  padding: 0.3rem 0.6rem;
  font-size: 0.8rem;
  font-weight: 600;
  border-radius: 10px;
}

#calc-kelike .planb-calc-actions .btn-secondary#kelikeBtnClear {
  white-space: nowrap;
  background: linear-gradient(180deg, #fff7ed 0%, #ffedd5 52%, #fed7aa 100%);
  border: 1px solid rgba(194, 65, 12, 0.48);
  color: #9a3412;
  box-shadow: 0 1px 4px rgba(194, 65, 12, 0.14);
}

#calc-kelike .planb-calc-actions .btn-secondary#kelikeBtnClear:hover {
  background: linear-gradient(180deg, #fffbeb 0%, #fef3c7 48%, #fde68a 100%);
  border-color: rgba(194, 65, 12, 0.58);
  color: #7c2d12;
}

#calc-kelike .kelike-result-wrap {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: rgba(250, 248, 245, 0.55);
  min-height: 0;
}

#calc-kelike .kelike-result-wrap.is-empty {
  padding: 0;
  margin: 0;
  overflow: hidden;
  min-height: 0.65rem;
  max-height: 0.72rem;
  border-radius: 6px;
  line-height: 0;
}

#calc-kelike .kelike-result-wrap.is-empty .kelike-result-body {
  display: none;
}

#calc-kelike .kelike-result-wrap:not(.is-empty) {
  padding: 0.38rem 0.48rem 0.42rem;
  background: rgba(255, 255, 255, 0.82);
  border-color: rgba(194, 65, 12, 0.22);
  min-height: 0;
}

#calc-kelike .kelike-result-group {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.15rem 0.3rem;
  margin: 0 0 0.28rem;
  font-size: 0.78rem;
  line-height: 1.35;
  color: var(--ink);
}

#calc-kelike .kelike-result-group:last-child {
  margin-bottom: 0;
}

#calc-kelike .kelike-result-heading {
  margin: 0.35rem 0 0.22rem;
  font-size: 0.72rem;
  font-weight: 700;
  color: #7c2d12;
  letter-spacing: 0.02em;
}

#calc-kelike .kelike-result-heading:first-child {
  margin-top: 0;
}

#calc-kelike .kelike-result-line {
  margin: 0 0 0.2rem;
  font-size: 0.72rem;
  line-height: 1.4;
  color: #44403c;
  word-break: break-word;
}

#calc-kelike .kelike-result-p-kgf {
  font-size: 0.74rem;
  color: #78716c;
  font-weight: 600;
}

#calc-kelike .kelike-result-p-kgf #resultKelikePKgf {
  font-weight: 700;
  color: #9a3412;
  font-variant-numeric: tabular-nums;
}

#calc-kelike .kelike-result-group--p {
  margin-top: 0.08rem;
  padding-top: 0.12rem;
  border-top: 1px dashed rgba(194, 65, 12, 0.2);
}

#calc-kelike .kelike-result-label {
  font-weight: 600;
  color: #5a534c;
}

#calc-kelike .kelike-result-value {
  font-weight: 700;
  color: #9a3412;
  font-variant-numeric: tabular-nums;
}

#calc-kelike .kelike-result-unit {
  color: var(--ink-muted);
  font-size: 0.72rem;
}

@media (max-width: 720px) {
  #calc-kelike .planb-calc-actions .btn {
    min-height: 2.05rem;
    padding: 0.26rem 0.44rem;
    font-size: 0.8rem;
  }

  #calc-kelike .kelike-result-wrap.is-empty {
    min-height: 0.38rem;
    max-height: 0.42rem;
  }
}

/* 已知边压耐破自动配材（more-stack）— 一屏无滚动 */
.page.page--layout.page--calc-more-stack {
  height: 100vh;
  height: 100dvh;
  max-height: 100dvh;
  overflow: hidden;
  padding-top: 0.1rem;
  padding-bottom: 0.12rem;
  box-sizing: border-box;
}

.page.page--layout.page--calc-more-stack .page-head--compact {
  margin-bottom: 0.04rem;
  flex-shrink: 0;
}

.page.page--layout.page--calc-more-stack .page-head--compact .sub {
  margin-top: 0.02rem;
  font-size: 0.68rem;
  line-height: 1.15;
}

.page.page--layout.page--calc-more-stack .page-head--compact .page-heading {
  margin-top: 0.02rem;
  font-size: 0.82rem;
  line-height: 1.15;
}

.page.page--layout.page--calc-more-stack .brand-row {
  margin-bottom: 0.02rem;
}

.page.page--layout.page--calc-more-stack .brand-logo {
  max-height: clamp(1.28rem, 3.8vh, 1.78rem);
  width: auto;
}

#ioSection.io-section--more-stack.block {
  padding: 0.1rem 0.28rem 0.12rem;
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.page--calc-more-stack .io-section--more-stack .theory-title-row {
  margin-bottom: 0.06rem;
  padding-left: clamp(2.4rem, 2.5vw + 1.6rem, 5rem);
  padding-right: clamp(2.4rem, 2.5vw + 1.6rem, 5rem);
}

/* 自动配材 手机：主标题单行、顶栏尽量压矮（仅 max-width: 720px） */
@media (max-width: 720px) {
  .page.page--layout.page--calc-more-stack {
    padding-top: max(0.04rem, env(safe-area-inset-top, 0px));
    padding-bottom: 0.06rem;
  }

  .page.page--layout.page--calc-more-stack .page-head--compact {
    margin-bottom: 0;
  }

  .page.page--layout.page--calc-more-stack .brand-row {
    margin-bottom: 0;
  }

  .page.page--layout.page--calc-more-stack .brand-logo {
    max-height: clamp(1.02rem, 2.9vh, 1.32rem);
  }

  #ioSection.io-section--more-stack.block {
    padding-left: max(0.48rem, env(safe-area-inset-left, 0px));
    padding-right: max(0.48rem, env(safe-area-inset-right, 0px));
    padding-top: max(0.04rem, env(safe-area-inset-top, 0px));
    padding-bottom: 0.06rem;
  }

  #ioSection.io-section--more-stack .io-corner-nav {
    left: max(0.48rem, env(safe-area-inset-left, 0px));
    right: max(0.48rem, env(safe-area-inset-right, 0px));
    top: max(0.04rem, env(safe-area-inset-top, 0px));
    align-items: flex-start;
  }

  #ioSection.io-section--more-stack .io-corner-nav__tile {
    width: 2.32rem;
    height: 2.32rem;
    min-width: 2.32rem;
    min-height: 2.32rem;
    max-width: 2.32rem;
    max-height: 2.32rem;
    padding: 0.06rem 0.04rem;
    font-size: 0.55rem;
    line-height: 1.05;
    border-radius: 6px;
  }

  #ioSection.io-section--more-stack .theory-feature-name,
  .page--calc-more-stack .io-section--more-stack .theory-feature-name {
    margin: 0 0 0.02rem;
    padding-top: 0;
    padding-bottom: 0.04rem;
    padding-left: clamp(2.36rem, 1.6vw + 1.32rem, 3.4rem);
    padding-right: clamp(2.36rem, 1.6vw + 1.32rem, 3.4rem);
    font-size: clamp(0.64rem, 2.85vw, 0.7rem);
    line-height: 1.06;
    letter-spacing: -0.04em;
    white-space: nowrap;
  }

  #ioSection.io-section--more-stack .theory-title-row,
  .page--calc-more-stack .io-section--more-stack .theory-title-row {
    margin: 0 0 0.02rem;
    padding-top: 0.04rem;
    padding-bottom: 0.06rem;
    padding-left: clamp(2.36rem, 1.6vw + 1.32rem, 3.4rem);
    padding-right: clamp(2.36rem, 1.6vw + 1.32rem, 3.4rem);
    border-bottom: none;
  }

  .page--calc-more-stack .io-section--more-stack .theory-section-title--row {
    font-size: 0.7rem;
    line-height: 1.06;
  }

  /* 层数按钮 + 分隔线随表单下移；顶栏/主标题/「输入与计算」不动 */
  .page--calc-more-stack #ioSection.io-section--more-stack .calc-form-scroll,
  .page--calc-more-stack #ioSection.io-section--more-stack .scroll-panel {
    margin-top: 0.26rem;
    padding-top: 0;
  }

  #calc-more-stack > .msm-layer-pick {
    margin-top: 0;
    margin-bottom: 0.04rem;
    padding-top: 0.06rem;
    border-top: 1px solid var(--border-strong);
  }

  #calc-more-stack .msm-section--required {
    margin-top: 0.04rem;
  }

  #calc-more-stack .msm-section--face {
    margin-top: 0.12rem;
  }
}

/* 自动配材 PC：顶角按钮上移；层数条略增高；仅一根分隔线 */
@media (min-width: 721px) {
  #ioSection.io-section--more-stack .io-corner-nav {
    top: 0.14rem;
    left: 0.55rem;
    right: 0.55rem;
  }

  #ioSection.io-section--more-stack.block {
    padding-top: 0.28rem;
  }

  #ioSection.io-section--more-stack .theory-feature-name {
    margin: 0 0 0.1rem;
    padding-top: 0;
    line-height: 1.12;
    font-size: 0.86rem;
  }

  /* 必须用 #ioSection 才能压过全局 .theory-title-row 底边框，避免双线 */
  #ioSection.io-section--more-stack .theory-title-row {
    margin-bottom: 0.06rem;
    padding-top: 0.02rem;
    padding-bottom: 0.1rem;
    border-bottom: none !important;
  }

  /* 唯一分隔线：三层/五层切换条上方，与按钮留出间距 */
  #calc-more-stack > .msm-layer-pick {
    margin-top: 0.06rem;
    margin-bottom: 0.06rem;
    padding-top: 0.06rem;
    border-top: 1px solid var(--border-strong);
    border-bottom: none;
  }

  #calc-more-stack .box0201-layer-pick__bar {
    margin-top: 0;
  }

  #calc-more-stack .box0201-layer-pick__face {
    min-height: 1.36rem;
    padding: 0.1rem 0.16rem 0.11rem;
  }

  #calc-more-stack .box0201-layer-pick__title {
    font-size: 0.78rem;
    line-height: 1.14;
  }

  /* 画框内表单整体下移（不含顶角「原理说明 / 返回首页」） */
  .page--calc-more-stack #ioSection.io-section--more-stack .calc-form-scroll,
  .page--calc-more-stack #ioSection.io-section--more-stack .scroll-panel {
    margin-top: 0.5rem;
    padding-top: 0.1rem;
  }

  .page--calc-more-stack #ioSection.io-section--more-stack .io-actions--report-only {
    margin-top: 0.16rem;
  }
}

.page--calc-more-stack .io-section--more-stack .theory-section-title--row {
  font-size: 0.82rem;
  line-height: 1.15;
}

.page--calc-more-stack .io-section--more-stack .theory-feature-name {
  padding-left: clamp(2.4rem, 2.5vw + 1.6rem, 5rem);
  padding-right: clamp(2.4rem, 2.5vw + 1.6rem, 5rem);
}

.page--calc-more-stack .io-section--more-stack .scroll-panel,
.page--calc-more-stack .calc-form-scroll {
  flex: 1;
  min-height: 0;
  overflow: hidden;
  overflow-x: visible;
  padding-right: 0;
  display: flex;
  flex-direction: column;
}

.page--calc-more-stack #calc-more-stack.calc-panel.is-on {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  align-content: start;
}

.page--calc-more-stack.msm-page-has-results #calc-more-stack.calc-panel.is-on,
.page--calc-more-stack #calc-more-stack:has(#msmResultWrap:not(.is-empty)).calc-panel.is-on {
  flex: 0 0 auto;
  overflow: visible;
}

#calc-more-stack .msm-report-bar {
  grid-column: 1 / -1;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  margin-top: 0.32rem;
  padding-top: 0.14rem;
}

#calc-more-stack .msm-report-bar .io-actions--report-only {
  margin-top: 0;
  padding-top: 0.1rem;
  padding-bottom: 0.12rem;
}

#calc-more-stack .msm-report-bar .btn-report-main {
  width: 100%;
  box-sizing: border-box;
}

.page--calc-more-stack .io-actions--report-only {
  flex-shrink: 0;
  margin-top: 0.04rem;
  padding-top: 0.05rem;
  padding-bottom: 0.04rem;
}

.page--calc-more-stack .io-actions--report-only .btn-report-main {
  padding: 0.2rem 0.75rem;
  font-size: 0.74rem;
  min-height: 0;
}

#calc-more-stack.calc-panel.is-on {
  display: grid;
  padding: 0;
  overflow: hidden;
  max-width: 100%;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.09rem 0;
  align-content: start;
}

#calc-more-stack.msm-mode-five.calc-panel.is-on {
  gap: 0.08rem 0;
}

#calc-more-stack > .msm-layer-pick,
#calc-more-stack > .msm-section,
#calc-more-stack > .msm-section--required,
#calc-more-stack > .msm-calc-bar,
#calc-more-stack > .msm-section--results {
  grid-column: 1 / -1;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

#calc-more-stack > .msm-layer-pick {
  margin-bottom: 0;
}

#calc-more-stack:has(#msmLayerThree:checked) .msm-layer--five-only {
  display: none !important;
}

#calc-more-stack:has(#msmLayerFive:checked) .msm-layer--three-only {
  display: none !important;
}

#calc-more-stack .msm-section {
  margin-bottom: 0;
  padding: 0.12rem 0.2rem 0.14rem;
  border-radius: 5px;
  border: 1px solid rgba(28, 25, 23, 0.1);
  background: var(--card-solid);
}

#calc-more-stack.msm-mode-five .msm-section:not(.msm-section--face):not(.msm-section--flute):not(.msm-section--middle):not(.msm-section--flute2):not(.msm-section--liner) {
  padding: 0.07rem 0.16rem 0.09rem;
}

/* 七块左侧色条（须写在 .msm-section 的 border 简写之后，否则会被覆盖） */
#calc-more-stack .msm-section--required {
  border-left: 4px solid #c2410c;
  padding-top: 0.1rem;
  padding-bottom: 0.1rem;
}

/* 面/瓦/中/瓦2/里 筛选区：分色卡片（仅 more-stack，必填/限制/按钮不变） */
#calc-more-stack .msm-section--face,
#calc-more-stack .msm-section--flute,
#calc-more-stack .msm-section--middle,
#calc-more-stack .msm-section--flute2,
#calc-more-stack .msm-section--liner {
  border-radius: 8px;
  border: 1px solid rgba(15, 23, 42, 0.09);
  border-left-width: 5px;
  box-shadow: 0 2px 14px rgba(15, 23, 42, 0.07);
  padding: 0.12rem 0.22rem 0.14rem;
}

#calc-more-stack .msm-section--face {
  border-left-color: #2563eb;
  background: linear-gradient(165deg, #ffffff 0%, #eff6ff 48%, #f8fafc 100%);
}

#calc-more-stack .msm-section--flute {
  border-left-color: #d97706;
  background: linear-gradient(165deg, #ffffff 0%, #fffbeb 48%, #fefce8 100%);
}

#calc-more-stack .msm-section--middle {
  border-left-color: #7c3aed;
  background: linear-gradient(165deg, #ffffff 0%, #faf5ff 48%, #f5f3ff 100%);
}

#calc-more-stack .msm-section--flute2 {
  border-left-color: #e11d48;
  background: linear-gradient(165deg, #ffffff 0%, #fff1f2 48%, #fef2f2 100%);
}

#calc-more-stack .msm-section--liner {
  border-left-color: #059669;
  background: linear-gradient(165deg, #ffffff 0%, #ecfdf5 48%, #f0fdf4 100%);
}

#calc-more-stack .msm-section--face .msm-section-title {
  color: #1e40af;
}

#calc-more-stack .msm-section--flute .msm-section-title {
  color: #b45309;
}

#calc-more-stack .msm-section--middle .msm-section-title {
  color: #6d28d9;
}

#calc-more-stack .msm-section--flute2 .msm-section-title {
  color: #be123c;
}

#calc-more-stack .msm-section--liner .msm-section-title {
  color: #047857;
}

#calc-more-stack .msm-section--face .msm-head-lib {
  background: linear-gradient(135deg, #60a5fa 0%, #2563eb 100%);
  box-shadow: 0 2px 10px rgba(37, 99, 235, 0.28);
  border-radius: 6px;
}

#calc-more-stack .msm-section--flute .msm-head-lib {
  background: linear-gradient(135deg, #fbbf24 0%, #d97706 100%);
  box-shadow: 0 2px 10px rgba(217, 119, 6, 0.28);
  border-radius: 6px;
}

#calc-more-stack .msm-section--middle .msm-head-lib {
  background: linear-gradient(135deg, #a78bfa 0%, #7c3aed 100%);
  box-shadow: 0 2px 10px rgba(124, 58, 237, 0.28);
  border-radius: 6px;
}

#calc-more-stack .msm-section--flute2 .msm-head-lib {
  background: linear-gradient(135deg, #fb7185 0%, #e11d48 100%);
  box-shadow: 0 2px 10px rgba(225, 29, 72, 0.28);
  border-radius: 6px;
}

#calc-more-stack .msm-section--liner .msm-head-lib {
  background: linear-gradient(135deg, #34d399 0%, #059669 100%);
  box-shadow: 0 2px 10px rgba(5, 150, 105, 0.28);
  border-radius: 6px;
}

#calc-more-stack .msm-section--face .msm-table--paper th {
  background: linear-gradient(180deg, #e0f2fe 0%, #bae6fd 100%);
  color: #1e3a8a;
  border-color: rgba(37, 99, 235, 0.22);
}

#calc-more-stack .msm-section--flute .msm-table--paper th {
  background: linear-gradient(180deg, #fef3c7 0%, #fde68a 100%);
  color: #92400e;
  border-color: rgba(217, 119, 6, 0.22);
}

#calc-more-stack .msm-section--middle .msm-table--paper th {
  background: linear-gradient(180deg, #ede9fe 0%, #ddd6fe 100%);
  color: #5b21b6;
  border-color: rgba(124, 58, 237, 0.22);
}

#calc-more-stack .msm-section--flute2 .msm-table--paper th {
  background: linear-gradient(180deg, #ffe4e6 0%, #fecdd3 100%);
  color: #9f1239;
  border-color: rgba(225, 29, 72, 0.22);
}

#calc-more-stack .msm-section--liner .msm-table--paper th {
  background: linear-gradient(180deg, #d1fae5 0%, #a7f3d0 100%);
  color: #065f46;
  border-color: rgba(5, 150, 105, 0.22);
}

#calc-more-stack .msm-section--face .msm-table--paper td {
  background: #f8fafc;
  border-color: rgba(37, 99, 235, 0.14);
}

#calc-more-stack .msm-section--flute .msm-table--paper td {
  background: #fffef8;
  border-color: rgba(217, 119, 6, 0.14);
}

#calc-more-stack .msm-section--middle .msm-table--paper td {
  background: #faf8ff;
  border-color: rgba(124, 58, 237, 0.14);
}

#calc-more-stack .msm-section--flute2 .msm-table--paper td {
  background: #fffafb;
  border-color: rgba(225, 29, 72, 0.14);
}

#calc-more-stack .msm-section--liner .msm-table--paper td {
  background: #f6fef9;
  border-color: rgba(5, 150, 105, 0.14);
}

#calc-more-stack .msm-section--limits {
  border-left: 4px solid #0891b2;
  padding-top: 0.1rem;
  padding-bottom: 0.1rem;
}

#calc-more-stack .msm-table--required {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}

#calc-more-stack .msm-req-group-label,
#calc-more-stack .msm-limits-group-label {
  padding: 0.06rem 0.06rem;
  font-size: 0.68rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0.06em;
  color: #fff;
  text-align: center;
  vertical-align: middle;
  white-space: normal;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  background: linear-gradient(180deg, #f97316 0%, #ea580c 48%, #c2410c 100%);
  border: none;
  border-right: 2px solid rgba(124, 45, 18, 0.45);
  box-shadow:
    inset -1px 0 0 rgba(255, 255, 255, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

#calc-more-stack .msm-table--required .msm-req-group-label {
  width: 1.35rem;
  min-width: 1.25rem;
  max-width: 1.45rem;
}

#calc-more-stack .msm-table--limits .msm-limits-group-label {
  width: 1.52rem;
  min-width: 1.42rem;
  max-width: 1.62rem;
}

#calc-more-stack .msm-table--required tr.msm-req-head th:not(.msm-req-group-label) {
  background: linear-gradient(180deg, #ffedd5 0%, #fdba74 100%);
  color: #7c2d12;
  font-weight: 700;
  font-size: 0.66rem;
  line-height: 1.16;
  text-align: center;
  word-break: break-word;
  padding: 0.1rem 0.12rem;
  border: 1px solid rgba(28, 25, 23, 0.15);
}

#calc-more-stack .msm-table--required tr.msm-req-row td {
  padding: 0.09rem 0.1rem;
  background: #fffef8;
  vertical-align: middle;
  border: 1px solid rgba(28, 25, 23, 0.12);
}

#calc-more-stack .msm-table--required tr.msm-req-row--line2 td {
  background: #f7f4ec;
}

#calc-more-stack .msm-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: 0.1rem 0.16rem;
  margin: 0 0 0.06rem;
  min-width: 0;
  min-height: 1.36rem;
}

#calc-more-stack .msm-section-head .msm-section-title {
  margin: 0;
  flex-shrink: 0;
  line-height: 1.15;
}

#calc-more-stack .msm-section-title {
  font-size: 0.74rem;
  font-weight: 700;
  line-height: 1.1;
}

#calc-more-stack .msm-section--results .msm-section-title {
  color: #1e40af;
}

#calc-more-stack .msm-head-lib {
  display: flex;
  align-items: center;
  gap: 0.1rem;
  flex: 1 1 0;
  min-width: 0;
  justify-content: flex-end;
  padding: 0.06rem 0.18rem;
  min-height: 1.32rem;
  border-radius: 3px;
}

#calc-more-stack .msm-head-lib-label {
  font-size: 0.65rem;
  font-weight: 700;
  line-height: 1.1;
  color: #fff;
  white-space: nowrap;
}

#calc-more-stack .msm-head-lib-select {
  font-size: 0.66rem;
  line-height: 1.12;
  padding: 0.06rem 0.2rem;
  min-width: 0;
  min-height: 1.28rem;
  flex: 1 1 0;
  max-width: min(18rem, 100%);
  border-radius: 3px;
  border: 1px solid #94a3b8;
  background: #fff;
  box-sizing: border-box;
}

#calc-more-stack .msm-table-wrap,
#calc-more-stack .msm-result-scroll {
  overflow-x: visible;
  max-width: 100%;
}

#calc-more-stack .msm-table {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 0.72rem;
}

#calc-more-stack .msm-table th {
  padding: 0.1rem 0.12rem;
  background: linear-gradient(180deg, #ffedd5 0%, #fdba74 100%);
  color: #7c2d12;
  font-weight: 700;
  border: 1px solid rgba(28, 25, 23, 0.15);
  white-space: normal;
  line-height: 1.14;
  font-size: 0.62rem;
  word-break: break-word;
}

#calc-more-stack .msm-table td {
  padding: 0.05rem 0.08rem;
  border: 1px solid rgba(28, 25, 23, 0.12);
  vertical-align: middle;
}

#calc-more-stack .msm-table--flute .msm-flute-subhead th {
  padding: 0.06rem 0.1rem;
  font-size: 0.6rem;
  line-height: 1.08;
  background: #fef9c3;
  border-top: 1px solid rgba(28, 25, 23, 0.1);
}

#calc-more-stack .msm-table--flute .msm-flute-subhead th[scope='row'] {
  width: 28%;
}

#calc-more-stack .msm-table--flute .msm-flute-subrow td {
  padding: 0.06rem 0.1rem;
}

/* 其他限制：表格式两行，列宽均分（勿用 grid 作用于 tr） */

#calc-more-stack .msm-table--limits {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}

#calc-more-stack .msm-table--limits tr.msm-limits-head th:not(.msm-limits-group-label) {
  background: linear-gradient(180deg, #ffedd5 0%, #fdba74 100%);
  color: #7c2d12;
  font-weight: 700;
  font-size: 0.66rem;
  line-height: 1.16;
  text-align: center;
  word-break: break-word;
  padding: 0.1rem 0.1rem;
}

#calc-more-stack .msm-table--limits tr.msm-limits-row td {
  padding: 0.1rem 0.1rem;
  background: #fffef8;
  vertical-align: middle;
}

#calc-more-stack .msm-table--limits tr.msm-limits-row--line0 td {
  background: #fffef8;
}

#calc-more-stack .msm-table--limits tr.msm-limits-row--line2 td {
  background: #f7f4ec;
}

#calc-more-stack .msm-table--limits tr.msm-limits-head--line2 th {
  border-top: 1px solid rgba(180, 83, 9, 0.2);
}

#calc-more-stack .msm-table--limits tr.msm-limits-head:not(.msm-limits-head--line0) th:not(.msm-limits-group-label) {
  border-top: 1px solid rgba(180, 83, 9, 0.2);
}

#calc-more-stack .msm-table--limits .msm-limits-th-pad,
#calc-more-stack .msm-table--limits .msm-limits-td-pad {
  padding: 0;
  border: none;
  background: transparent;
}

#calc-more-stack .msm-table--limits .msm-inp {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0 auto;
  box-sizing: border-box;
  padding: 0.1rem 0.12rem;
  font-size: 0.66rem;
  line-height: 1.14;
  min-height: 1.38rem;
  border-radius: 3px;
}

#calc-more-stack .msm-table--limits select.msm-inp {
  padding-right: 1.2rem;
}

#calc-more-stack .msm-table--results th {
  background: #dbeafe;
  color: #1e3a5f;
}

#calc-more-stack .msm-inp {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: 0.1rem 0.14rem;
  font-size: 0.66rem;
  line-height: 1.14;
  min-height: 1.38rem;
  border: 1px solid var(--border-strong);
  border-radius: 3px;
  background: #fff;
}

#calc-more-stack select.msm-inp {
  padding-right: 1.1rem;
}

#calc-more-stack .msm-actions {
  white-space: nowrap;
}

#calc-more-stack .msm-actions .btn {
  margin: 0.1rem 0.15rem 0.1rem 0;
  padding: 0.2rem 0.45rem;
  font-size: 0.72rem;
}

#calc-more-stack .msm-calc-bar {
  margin: 0;
  padding: 0.04rem 0;
  line-height: 1.1;
}

#calc-more-stack .msm-calc-actions {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.45rem;
  width: 100%;
  box-sizing: border-box;
}

#calc-more-stack .msm-calc-actions .btn {
  flex: 1 1 0;
  min-width: 0;
  min-height: 1.5rem;
  padding: 0.16rem 0.42rem;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.08;
  border-radius: 8px;
}

#calc-more-stack .msm-calc-actions .btn-primary#msmBtnCalc {
  min-width: 0;
}

#calc-more-stack .msm-calc-actions .btn-secondary#msmBtnClear {
  white-space: nowrap;
  background: linear-gradient(180deg, #fff7ed 0%, #ffedd5 52%, #fed7aa 100%);
  border: 1px solid rgba(194, 65, 12, 0.48);
  color: #9a3412;
  box-shadow: 0 1px 4px rgba(194, 65, 12, 0.14);
}

#calc-more-stack .msm-calc-actions .btn-secondary#msmBtnClear:hover {
  background: linear-gradient(180deg, #fffbeb 0%, #fef3c7 48%, #fde68a 100%);
  border-color: rgba(194, 65, 12, 0.58);
  color: #7c2d12;
}

#calc-more-stack .msm-loading {
  margin: 0.06rem 0 0;
  font-size: 0.66rem;
  font-weight: 600;
  color: #2563eb;
  line-height: 1.2;
}

#calc-more-stack .msm-status {
  margin: 0.06rem 0 0;
  font-size: 0.66rem;
  line-height: 1.25;
}

#calc-more-stack .msm-status--ok {
  color: #15803d;
}

#calc-more-stack .msm-status--err {
  color: #b91c1c;
}

#calc-more-stack .msm-batch-bar {
  margin-top: 0.35rem;
  padding: 0.35rem 0.45rem;
  border-radius: 6px;
  border: 1px solid rgba(37, 99, 235, 0.35);
  background: linear-gradient(180deg, #eff6ff 0%, #dbeafe 100%);
}

#calc-more-stack .msm-batch-hint {
  margin: 0 0 0.28rem;
  font-size: 0.64rem;
  line-height: 1.35;
  color: #1e3a8a;
}

#calc-more-stack .msm-batch-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  align-items: center;
}

#calc-more-stack .msm-batch-actions .btn-primary#msmBtnBatch {
  background: linear-gradient(180deg, #1d4ed8 0%, #1e40af 100%);
  border-color: #1e3a8a;
}

#calc-more-stack .msm-batch-progress {
  margin: 0.28rem 0 0;
  font-size: 0.64rem;
  font-weight: 600;
  line-height: 1.3;
  color: #1d4ed8;
}

#calc-more-stack .msm-calc-actions .btn-primary#msmBtnCalc:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

#calc-more-stack .msm-section--results {
  padding: 0.06rem 0.2rem 0.08rem;
  border: none;
  background: transparent;
  box-shadow: none;
}

#calc-more-stack .msm-section--results .msm-section-title {
  margin: 0 0 0.06rem;
  font-size: 0.7rem;
}

#calc-more-stack .msm-result-wrap.is-empty {
  padding: 0;
  margin: 0;
  overflow: hidden;
  min-height: 0.48rem;
  max-height: 0.52rem;
  border-radius: 4px;
  background: linear-gradient(180deg, #eff6ff 0%, #dbeafe 100%);
  border: 1px solid rgba(147, 197, 253, 0.55);
}

#calc-more-stack .msm-result-wrap.is-empty .msm-result-scroll {
  display: none;
}

#calc-more-stack .msm-result-wrap:not(.is-empty) {
  margin-top: 0.06rem;
  border-radius: 6px;
  border: 1px solid rgba(147, 197, 253, 0.4);
  background: #fff;
}

#calc-more-stack .msm-result-scroll {
  max-height: min(28vh, 14rem);
  overflow-y: auto;
  overflow-x: hidden;
}

/* 有计算结果：允许表单区纵向滚动（电脑/手机），避免一屏锁死看不到结果与生成报告 */
.page.page--layout.page--calc-more-stack.msm-page-has-results,
.page.page--layout.page--calc-more-stack:has(#msmResultWrap:not(.is-empty)) {
  overflow-y: auto;
  max-height: none;
}

.page--calc-more-stack.msm-page-has-results #ioSection.io-section--more-stack,
.page--calc-more-stack #ioSection.io-section--more-stack:has(#msmResultWrap:not(.is-empty)) {
  overflow: visible;
}

.page--calc-more-stack.msm-page-has-results .calc-form-scroll,
.page--calc-more-stack.msm-page-has-results .scroll-panel,
.page--calc-more-stack #ioSection.io-section--more-stack:has(#msmResultWrap:not(.is-empty)) .calc-form-scroll,
.page--calc-more-stack #ioSection.io-section--more-stack:has(#msmResultWrap:not(.is-empty)) .scroll-panel {
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

#calc-more-stack.msm-has-results.calc-panel.is-on,
#calc-more-stack:has(#msmResultWrap:not(.is-empty)).calc-panel.is-on {
  overflow: visible;
  flex: 0 0 auto;
}

#calc-more-stack .msm-result-wrap:not(.is-empty) .msm-result-scroll {
  max-height: none;
  overflow-y: visible;
}

#calc-more-stack .msm-table--results th:nth-child(1) {
  width: 8%;
}

#calc-more-stack .msm-table--results th:nth-child(2) {
  width: 36%;
}

#calc-more-stack .msm-table--results th:nth-child(3) {
  width: 22%;
}

#calc-more-stack .msm-table--results th:nth-child(4),
#calc-more-stack .msm-table--results th:nth-child(5),
#calc-more-stack .msm-table--results th:nth-child(6) {
  width: 11%;
}

#calc-more-stack .msm-empty-row,
#calc-more-stack .msm-note-row {
  text-align: center;
  font-style: italic;
  color: var(--ink-muted);
}

#calc-more-stack .msm-note-row {
  color: #c2410c;
}

#calc-more-stack .msm-diff--ok {
  color: #15803d;
  font-weight: 600;
}

#calc-more-stack .msm-diff--bad {
  color: #b91c1c;
  font-weight: 600;
}

@media (max-width: 720px) {
  /* 手机：层数条略增高；表单控件略增高便于点按 */
  #calc-more-stack .box0201-layer-pick__face {
    min-height: 1.22rem;
    padding: 0.07rem 0.12rem;
  }

  #calc-more-stack .box0201-layer-pick__title {
    font-size: 0.74rem;
    line-height: 1.1;
  }

  #calc-more-stack .msm-table th {
    padding: 0.09rem 0.08rem;
    font-size: 0.6rem;
    line-height: 1.14;
  }

  #calc-more-stack .msm-table td {
    padding: 0.08rem 0.08rem;
  }

  #calc-more-stack .msm-table--required tr.msm-req-head th:not(.msm-req-group-label) {
    padding: 0.08rem 0.08rem;
    font-size: 0.58rem;
    line-height: 1.14;
  }

  #calc-more-stack .msm-table--required tr.msm-req-row td {
    padding: 0.08rem 0.08rem;
  }

  #calc-more-stack .msm-table--limits tr.msm-limits-head th:not(.msm-limits-group-label) {
    font-size: 0.58rem;
    padding: 0.08rem 0.08rem;
    line-height: 1.14;
  }

  #calc-more-stack .msm-table--limits tr.msm-limits-row td {
    padding: 0.08rem 0.08rem;
  }

  #calc-more-stack .msm-inp,
  #calc-more-stack .msm-table--limits .msm-inp {
    font-size: 0.66rem;
    line-height: 1.14;
    min-height: 1.42rem;
    padding: 0.09rem 0.12rem;
  }

  #calc-more-stack select.msm-inp,
  #calc-more-stack .msm-table--limits select.msm-inp {
    min-height: 1.44rem;
    padding: 0.09rem 1.05rem 0.09rem 0.12rem;
  }

  #calc-more-stack .msm-section {
    padding: 0.1rem 0.16rem 0.12rem;
  }

  #calc-more-stack .msm-section--face,
  #calc-more-stack .msm-section--flute,
  #calc-more-stack .msm-section--middle,
  #calc-more-stack .msm-section--flute2,
  #calc-more-stack .msm-section--liner {
    padding: 0.1rem 0.16rem 0.12rem;
  }

  /* 筛选标题 + 原纸库 同一行（面/瓦1/中/瓦2/里 五处） */
  #calc-more-stack .msm-section-head {
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.08rem 0.1rem;
    margin-bottom: 0.06rem;
    min-height: 1.4rem;
  }

  #calc-more-stack .msm-section-head .msm-section-title {
    flex-shrink: 0;
    font-size: 0.66rem;
    line-height: 1.12;
    white-space: nowrap;
  }

  #calc-more-stack .msm-head-lib {
    flex: 1 1 0;
    min-width: 0;
    max-width: none;
    padding: 0.06rem 0.12rem;
    gap: 0.08rem;
    min-height: 1.36rem;
  }

  #calc-more-stack .msm-head-lib-label {
    font-size: 0.58rem;
    line-height: 1.1;
    flex-shrink: 0;
  }

  #calc-more-stack .msm-head-lib-select {
    flex: 1 1 0;
    min-width: 0;
    max-width: 100%;
    font-size: 0.6rem;
    line-height: 1.12;
    padding: 0.07rem 0.12rem;
    min-height: 1.34rem;
  }

  #calc-more-stack .msm-calc-actions .btn {
    min-height: 1.54rem;
    padding: 0.2rem 0.42rem;
    font-size: 0.7rem;
  }
}

/* 自动配材 PC：表单纵向略放宽（结果占位条保持细条） */
@media (min-width: 721px) {
  #calc-more-stack.msm-mode-five.calc-panel.is-on,
  #calc-more-stack.msm-mode-three.calc-panel.is-on {
    gap: 0.11rem 0;
  }

  #calc-more-stack .msm-section {
    padding-top: 0.17rem;
    padding-bottom: 0.18rem;
  }

  #calc-more-stack .msm-section--required {
    padding-top: 0.14rem;
    padding-bottom: 0.14rem;
  }

  #calc-more-stack .msm-table--required tr.msm-req-head th:not(.msm-req-group-label) {
    padding: 0.14rem 0.12rem;
    font-size: 0.67rem;
    line-height: 1.18;
  }

  #calc-more-stack .msm-table--required tr.msm-req-row td {
    padding: 0.12rem 0.1rem;
  }

  #calc-more-stack .msm-section--limits {
    padding-top: 0.14rem;
    padding-bottom: 0.14rem;
  }

  #calc-more-stack .msm-section--face,
  #calc-more-stack .msm-section--flute,
  #calc-more-stack .msm-section--middle,
  #calc-more-stack .msm-section--flute2,
  #calc-more-stack .msm-section--liner {
    padding-top: 0.14rem;
    padding-bottom: 0.15rem;
  }

  #calc-more-stack .msm-section-head {
    margin-bottom: 0.09rem;
    min-height: 1.52rem;
    gap: 0.1rem 0.16rem;
    align-items: center;
  }

  #calc-more-stack .msm-section-head .msm-section-title {
    font-size: 0.78rem;
    line-height: 1.16;
    padding: 0.06rem 0;
  }

  #calc-more-stack .msm-head-lib {
    padding: 0.08rem 0.2rem;
    min-height: 1.46rem;
    align-items: center;
    border-radius: 4px;
  }

  #calc-more-stack .msm-head-lib-label {
    font-size: 0.7rem;
    line-height: 1.14;
  }

  #calc-more-stack .msm-head-lib-select {
    font-size: 0.68rem;
    line-height: 1.14;
    min-height: 1.4rem;
    padding: 0.08rem 0.18rem;
  }

  #calc-more-stack .msm-table th {
    padding: 0.13rem 0.12rem;
    font-size: 0.64rem;
    line-height: 1.16;
  }

  #calc-more-stack .msm-table td {
    padding: 0.12rem 0.1rem;
  }

  #calc-more-stack .msm-table--flute .msm-flute-subhead th {
    padding: 0.12rem 0.1rem;
    font-size: 0.62rem;
  }

  #calc-more-stack .msm-table--flute .msm-flute-subrow td {
    padding: 0.12rem 0.1rem;
  }

  #calc-more-stack .msm-inp {
    min-height: 1.52rem;
    padding: 0.12rem 0.14rem;
    font-size: 0.68rem;
  }

  #calc-more-stack .msm-table--limits {
    border-collapse: separate;
    border-spacing: 0.1rem 0.09rem;
  }

  #calc-more-stack .msm-table--limits tr.msm-limits-head th:not(.msm-limits-group-label),
  #calc-more-stack .msm-table--limits tr.msm-limits-row td {
    border: 1px solid rgba(28, 25, 23, 0.14);
  }

  #calc-more-stack .msm-table--limits .msm-limits-group-label {
    border: none;
    border-right: 2px solid rgba(124, 45, 18, 0.45);
  }

  #calc-more-stack .msm-table--limits tr.msm-limits-head th:not(.msm-limits-group-label) {
    padding: 0.13rem 0.1rem;
    font-size: 0.64rem;
  }

  #calc-more-stack .msm-table--limits tr.msm-limits-row td {
    padding: 0.12rem 0.1rem;
  }

  #calc-more-stack .msm-table--limits .msm-inp {
    min-height: 1.5rem;
    padding: 0.12rem 0.12rem;
  }

  #calc-more-stack .msm-calc-actions .btn {
    min-height: 1.58rem;
    padding: 0.18rem 0.45rem;
    font-size: 0.72rem;
  }

  #calc-more-stack > .msm-section--results {
    padding: 0.06rem 0.2rem 0.08rem;
    min-height: 0;
    max-height: none;
  }

  #calc-more-stack .msm-result-wrap.is-empty {
    flex: 0 0 auto;
    min-height: 0.52rem;
    max-height: 0.58rem;
    height: 0.55rem;
  }

  #ioSection.io-section--more-stack .theory-title-row {
    border-bottom: none !important;
  }
}

/* ========== 评价与建议 feedback.html ========== */
.app--feedback {
  background: linear-gradient(168deg, #eef2ff 0%, #f8fafc 42%, #f1f5f9 100%);
  /* Document scroll lives on body — not the 100dvh .page--layout flex shell */
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.page--feedback.page--layout {
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
  gap: 0.65rem;
  padding-bottom: 1rem;
  /* Escape .page--layout 100dvh flex trap (calc/theory pages keep it) */
  display: flex;
  flex-direction: column;
  align-items: stretch;
  max-height: none;
  height: auto;
  min-height: 100dvh;
  overflow: visible;
}

.page--feedback.page--layout > .page-head {
  flex: none;
}

/* Undo .page--layout > .block flex trap if hero ever keeps .block */
.page--feedback.page--layout > .fb-hero,
.page--feedback.page--layout > .fb-hero.block {
  flex: none;
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
  min-height: unset;
  margin-bottom: 0;
  position: relative;
  z-index: 0;
}

.page--feedback.page--layout > .fb-layout {
  flex: none;
  min-height: unset;
  position: relative;
  z-index: 1;
  margin-top: 0;
}

.page--feedback .fb-list {
  max-height: none;
  overflow-y: visible;
}

.page--feedback .fb-page-head {
  position: relative;
  padding-right: 3.35rem;
}

.page--feedback .fb-back-home {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 5;
  box-sizing: border-box;
  width: 3.15rem;
  height: 3.15rem;
  min-width: 3.15rem;
  min-height: 3.15rem;
  max-width: 3.15rem;
  max-height: 3.15rem;
  margin: 0;
  padding: 0.22rem 0.12rem;
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1.1;
  text-align: center;
  text-decoration: none;
  border-radius: 9px;
  border: 1px solid rgba(4, 120, 87, 0.42);
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.06rem;
  overflow: hidden;
  background: linear-gradient(165deg, #ecfdf5 0%, #d1fae5 52%, #a7f3d0 100%);
  color: #047857;
  box-shadow: 0 1px 4px rgba(4, 120, 87, 0.12);
  transition: background 0.15s, border-color 0.15s, transform 0.12s, box-shadow 0.15s;
}

.page--feedback .fb-back-home__line {
  display: block;
  width: 100%;
  max-width: 100%;
  line-height: 1.1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.page--feedback .fb-back-home:hover {
  background: linear-gradient(165deg, #f0fdf4 0%, #dcfce7 48%, #86efac 100%);
  border-color: rgba(4, 120, 87, 0.55);
  color: #065f46;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(4, 120, 87, 0.16);
}

.page--feedback .fb-back-home:focus-visible {
  outline: 2px solid var(--accent-soft);
  outline-offset: 2px;
}

.page--feedback .fb-page-sub {
  color: #6366f1;
  font-weight: 500;
  letter-spacing: 0.03em;
}

.page--feedback .fb-page-title {
  margin-top: 0.08rem;
  margin-bottom: 0.12rem;
  font-size: 1.08rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  background: linear-gradient(120deg, #312e81 0%, #4f46e5 55%, #6366f1 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  position: relative;
  z-index: 2;
}

.fb-hero {
  position: relative;
  display: grid;
  gap: 0.32rem;
  padding: 0.48rem 0.52rem 0.5rem;
  margin-bottom: 0;
  border-radius: 0.45rem;
  background: linear-gradient(128deg, #312e81 0%, #4338ca 38%, #6366f1 72%, #818cf8 100%);
  color: #fff;
  box-shadow:
    0 0.12rem 0.5rem rgba(49, 46, 129, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.1);
  /* overflow:hidden clipped eyebrow/lead when flex shell squeezed the hero */
  overflow: visible;
  flex-shrink: 0;
  border: none;
}

.fb-hero::before,
.fb-hero::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}

.fb-hero::before {
  width: 4.5rem;
  height: 4.5rem;
  right: -1.2rem;
  top: -1.5rem;
  background: rgba(255, 255, 255, 0.08);
}

.fb-hero::after {
  width: 2.5rem;
  height: 2.5rem;
  left: -0.6rem;
  bottom: -0.8rem;
  background: rgba(255, 255, 255, 0.06);
}

.fb-hero__copy {
  position: relative;
  z-index: 1;
}

.fb-hero__eyebrow {
  margin: 0 0 0.18rem;
  padding-top: 0.04rem;
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.35;
  opacity: 0.92;
}

.fb-hero__lead {
  margin: 0;
  font-size: 0.66rem;
  line-height: 1.45;
  opacity: 0.92;
}

.fb-hero__lead strong {
  font-weight: 700;
  color: #fde68a;
}

.fb-stats {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: nowrap;
  gap: 0.28rem;
}

.fb-stat-pill {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.08rem;
  padding: 0.28rem 0.32rem;
  border-radius: 0.38rem;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(4px);
}

.fb-stat-pill__label {
  font-size: 0.56rem;
  opacity: 0.82;
  letter-spacing: 0.03em;
}

.fb-stat-pill__value {
  font-size: 0.88rem;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: 0.02em;
}

.fb-stat-pill .fb-stars--sm .fb-star {
  font-size: 0.58rem;
}

.fb-layout {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.fb-panel {
  padding: 0.65rem 0.7rem 0.7rem !important;
}

.fb-panel--form {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: 0.85rem 0.9rem 0.92rem !important;
}

.page--feedback .fb-panel--form.block--elevated {
  border-radius: 0.55rem;
}

.fb-panel--form .fb-panel__title {
  margin-bottom: 0.4rem;
  font-size: 0.96rem;
}

.fb-panel__title {
  margin: 0 0 0.35rem;
  font-size: 0.86rem;
  font-weight: 800;
  color: #1e293b;
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

.fb-panel__title::before {
  content: "";
  width: 0.2rem;
  height: 0.82rem;
  border-radius: 3px;
  background: linear-gradient(180deg, #4f46e5, #a5b4fc);
  flex-shrink: 0;
}

.fb-panel--form .fb-panel__hint {
  margin-bottom: 0.55rem;
  font-size: 0.72rem;
}

.fb-panel__hint {
  margin: 0 0 0.5rem;
  font-size: 0.68rem;
  color: #64748b;
  line-height: 1.45;
}

.fb-field {
  margin: 0 0 0.45rem;
  padding: 0;
  border: none;
}

.fb-panel--form .fb-label {
  font-size: 0.82rem;
  margin-bottom: 0.32rem;
}

.fb-label {
  display: block;
  margin-bottom: 0.28rem;
  font-size: 0.74rem;
  font-weight: 600;
  color: #334155;
}

.fb-panel--form .fb-star-input {
  gap: 0.18rem;
  margin-bottom: 0.28rem;
}

.fb-star-input {
  display: flex;
  gap: 0.12rem;
  margin-bottom: 0.2rem;
}

.fb-panel--form .fb-star-btn {
  width: 2.15rem;
  height: 2.15rem;
  font-size: 1.78rem;
}

.fb-star-btn {
  width: 1.85rem;
  height: 1.85rem;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  font-size: 1.5rem;
  line-height: 1;
  color: #cbd5e1;
  transition: color 0.15s, transform 0.12s;
}

.fb-star-btn.is-on,
.fb-star-btn:hover {
  color: #f59e0b;
}

.fb-star-btn:active {
  transform: scale(0.9);
}

.fb-panel--form .fb-rating-hint {
  font-size: 0.74rem;
}

.fb-rating-hint {
  margin: 0;
  font-size: 0.68rem;
  color: #6366f1;
  font-weight: 500;
}

.fb-panel--form .fb-textarea {
  min-height: 5.8rem;
  padding: 0.55rem 0.65rem;
  font-size: 0.84rem;
  border-radius: 0.5rem;
}

.fb-textarea {
  width: 100%;
  min-height: 4.5rem;
  padding: 0.48rem 0.55rem;
  font-size: 0.76rem;
  line-height: 1.55;
  border: 1px solid #e2e8f0;
  border-radius: 0.45rem;
  resize: vertical;
  box-sizing: border-box;
  font-family: inherit;
  color: #1e293b;
  background: linear-gradient(180deg, #f8fafc, #fff);
  transition: border-color 0.15s, box-shadow 0.15s;
}

.fb-textarea:focus {
  outline: none;
  border-color: #818cf8;
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.18);
  background: #fff;
}

.fb-field-foot {
  margin: 0.22rem 0 0;
  font-size: 0.64rem;
  color: #94a3b8;
}

.fb-form-msg {
  margin: 0.35rem 0 0.25rem;
  font-size: 0.7rem;
  line-height: 1.45;
}

.fb-form-msg.is-ok { color: #059669; }
.fb-form-msg.is-err { color: #dc2626; }

.page--feedback .fb-submit.btn-primary {
  width: 100%;
  margin-top: 0.2rem;
  padding: 0.5rem 1rem;
  font-size: 0.88rem;
  font-weight: 700;
  border: none;
  border-radius: 0.5rem;
  background: linear-gradient(135deg, #4f46e5 0%, #6366f1 100%);
  box-shadow: 0 0.18rem 0.55rem rgba(79, 70, 229, 0.38);
}

.page--feedback .fb-submit.btn-primary:hover:not(:disabled) {
  background: linear-gradient(135deg, #4338ca 0%, #4f46e5 100%);
}

.page--feedback .fb-submit.btn-primary:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.fb-list-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.4rem;
  margin-bottom: 0.35rem;
}

.fb-list-head .fb-panel__title {
  margin: 0;
}

.page--feedback .fb-refresh.btn-secondary {
  flex-shrink: 0;
  padding: 0.22rem 0.5rem;
  font-size: 0.68rem;
  border-radius: 999px;
}

.fb-list-empty {
  margin: 0 0 0.4rem;
  text-align: center;
  font-size: 0.72rem;
  color: #94a3b8;
  line-height: 1.5;
  padding: 0.5rem;
}

.fb-list {
  display: flex;
  flex-direction: column;
  gap: 0.42rem;
  max-height: 24rem;
  overflow-y: auto;
  padding-right: 0.12rem;
}

.fb-card {
  padding: 0.55rem 0.6rem;
  border-radius: 0.48rem;
  background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
  border: 1px solid #e2e8f0;
  box-shadow: 0 0.1rem 0.35rem rgba(15, 23, 42, 0.04);
  transition: box-shadow 0.15s, border-color 0.15s;
}

.fb-card:hover {
  border-color: #c7d2fe;
  box-shadow: 0 0.15rem 0.5rem rgba(99, 102, 241, 0.1);
}

.fb-card__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.35rem;
  margin-bottom: 0.35rem;
}

.fb-card__who {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  min-width: 0;
}

.fb-avatar {
  flex-shrink: 0;
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.78rem;
  font-weight: 700;
  color: #fff;
  background: linear-gradient(135deg, #6366f1, #818cf8);
  box-shadow: 0 0.1rem 0.3rem rgba(99, 102, 241, 0.35);
}

.fb-card__meta {
  display: flex;
  flex-direction: column;
  gap: 0.06rem;
  min-width: 0;
}

.fb-card__name {
  font-size: 0.74rem;
  font-weight: 700;
  color: #1e293b;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fb-card__time {
  font-size: 0.62rem;
  color: #94a3b8;
}

.fb-stars {
  display: inline-flex;
  gap: 0.04rem;
  flex-shrink: 0;
}

.fb-stars--sm .fb-star {
  font-size: 0.72rem;
}

.fb-star {
  color: #e2e8f0;
  line-height: 1;
}

.fb-star.is-on {
  color: #f59e0b;
}

.fb-card__body {
  margin: 0;
  font-size: 0.76rem;
  line-height: 1.58;
  color: #475569;
  word-break: break-word;
  white-space: pre-wrap;
}

.fb-card__foot {
  display: flex;
  justify-content: flex-end;
  margin-top: 0.35rem;
  padding-top: 0.28rem;
  border-top: 1px solid #f1f5f9;
}

.fb-reply-toggle {
  margin: 0;
  padding: 0.14rem 0.42rem;
  font-size: 0.66rem;
  font-weight: 600;
  color: #4f46e5;
  background: transparent;
  border: 1px solid #c7d2fe;
  border-radius: 999px;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}

.fb-reply-toggle:hover {
  background: #eef2ff;
  border-color: #a5b4fc;
  color: #4338ca;
}

.fb-reply-toggle:focus-visible {
  outline: 2px solid var(--accent-soft);
  outline-offset: 2px;
}

.fb-reply-form-wrap {
  margin-top: 0.38rem;
  padding: 0.42rem 0.45rem;
  border-radius: 0.38rem;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
}

.fb-reply-form-wrap[hidden] {
  display: none !important;
}

.fb-reply-form__label {
  margin-bottom: 0.2rem;
}

.fb-reply-form__input {
  min-height: 2.6rem;
  font-size: 0.72rem;
}

.fb-reply-form__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.28rem;
  margin-top: 0.32rem;
}

.fb-reply-form__actions .btn {
  padding: 0.2rem 0.55rem;
  font-size: 0.66rem;
}

.fb-reply-form-msg {
  margin: 0.22rem 0 0;
  font-size: 0.64rem;
  line-height: 1.4;
}

.fb-reply-form-msg.is-ok {
  color: #047857;
}

.fb-reply-form-msg.is-err {
  color: #b91c1c;
}

.fb-replies {
  list-style: none;
  margin: 0.42rem 0 0;
  padding: 0 0 0 0.55rem;
  border-left: 2px solid #e0e7ff;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.fb-reply {
  margin: 0;
  padding: 0.32rem 0.38rem;
  border-radius: 0.35rem;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
}

.fb-reply__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.35rem;
  margin-bottom: 0.12rem;
}

.fb-reply__name {
  font-size: 0.68rem;
  font-weight: 700;
  color: #334155;
}

.fb-reply__time {
  flex-shrink: 0;
  font-size: 0.6rem;
  color: #94a3b8;
}

.fb-reply__body {
  margin: 0;
  font-size: 0.72rem;
  line-height: 1.5;
  color: #475569;
  word-break: break-word;
  white-space: pre-wrap;
}

.fb-reply__at {
  font-weight: 600;
  color: #4f46e5;
}

.fb-reply__foot {
  display: flex;
  justify-content: flex-end;
  margin-top: 0.22rem;
  padding-top: 0.18rem;
}

.fb-reply-toggle--nested {
  font-size: 0.62rem;
  padding: 0.1rem 0.36rem;
}

.fb-emoji-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.18rem;
  margin: 0.22rem 0 0.28rem;
  padding: 0.28rem 0.32rem;
  border-radius: 0.38rem;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
}

.fb-reply-form-wrap .fb-emoji-bar {
  margin-top: 0.22rem;
  margin-bottom: 0.18rem;
  padding: 0.22rem 0.28rem;
  background: #fff;
}

.fb-emoji-btn {
  margin: 0;
  padding: 0.12rem 0.2rem;
  font-size: 1rem;
  line-height: 1;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 0.32rem;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s, transform 0.1s;
}

.fb-emoji-btn:hover {
  background: #eef2ff;
  border-color: #c7d2fe;
}

.fb-emoji-btn:active {
  transform: scale(0.94);
}

.fb-emoji-btn:focus-visible {
  outline: 2px solid var(--accent-soft);
  outline-offset: 1px;
}

@media (min-width: 721px) {
  .page--feedback .fb-layout {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }

  .page--feedback .fb-panel--form {
    padding: 0.95rem 1rem 1rem !important;
  }

  .page--feedback .fb-panel--form .fb-textarea {
    min-height: 6.2rem;
  }

  /* Let the page scroll — nested cap hid 「大家怎么说」 */
  .page--feedback .fb-list {
    max-height: none;
    overflow-y: visible;
  }
}

@media (max-width: 640px) {
  .page--feedback.page--layout {
    gap: 0.55rem;
    padding-bottom: 1.1rem;
  }

  .page--feedback .fb-page-head {
    padding-right: 3.1rem;
    margin-bottom: 0.5rem;
  }

  .page--feedback .fb-back-home {
    width: 2.95rem;
    height: 2.95rem;
    min-width: 2.95rem;
    min-height: 2.95rem;
    max-width: 2.95rem;
    max-height: 2.95rem;
    font-size: 0.64rem;
  }

  .page--feedback .fb-page-sub {
    font-size: 0.74rem;
    line-height: 1.45;
  }

  .page--feedback .fb-page-title {
    font-size: 1rem;
    margin-bottom: 0.18rem;
  }

  .fb-hero {
    margin-top: 0.06rem;
    padding: 0.5rem 0.48rem 0.48rem;
    gap: 0.36rem;
  }

  .fb-hero__eyebrow {
    font-size: 0.64rem;
    letter-spacing: 0.06em;
  }

  .fb-hero__lead {
    font-size: 0.7rem;
    line-height: 1.5;
  }

  .page--feedback .fb-layout {
    gap: 0.58rem;
  }

  .fb-panel--form {
    padding: 0.78rem 0.72rem 0.82rem !important;
  }

  .page--feedback .fb-panel--form .fb-textarea {
    min-height: 6.4rem;
    font-size: 0.86rem;
  }

  .fb-panel--list {
    padding-bottom: 0.85rem !important;
  }

  /* Let the page scroll — nested cap hid 「大家怎么说」 on short viewports */
  .fb-list {
    max-height: none;
    overflow-y: visible;
  }
}

.page--feedback .page-head--compact .brand-logo {
  height: 1.82rem;
  max-width: min(90vw, 12.5rem);
}

/* 自动配材：层数条压扁 + 表单主体拉高（文件末尾最终覆盖，上传后 Ctrl+F5） */
#ioSection.io-section--more-stack #calc-more-stack > .msm-layer-pick .box0201-layer-pick__bar {
  min-height: 0;
}

#ioSection.io-section--more-stack #calc-more-stack > .msm-layer-pick .box0201-layer-pick__face {
  min-height: 1.28rem;
  padding: 0.08rem 0.14rem;
}

#ioSection.io-section--more-stack #calc-more-stack > .msm-layer-pick .box0201-layer-pick__title {
  font-size: 0.76rem;
  line-height: 1.12;
}

#ioSection.io-section--more-stack #calc-more-stack > .msm-section {
  padding-top: 0.12rem;
  padding-bottom: 0.14rem;
}

#ioSection.io-section--more-stack #calc-more-stack > .msm-section--required,
#ioSection.io-section--more-stack #calc-more-stack > .msm-section--limits {
  padding-top: 0.11rem;
  padding-bottom: 0.11rem;
}

#ioSection.io-section--more-stack #calc-more-stack .msm-section--face,
#ioSection.io-section--more-stack #calc-more-stack .msm-section--flute,
#ioSection.io-section--more-stack #calc-more-stack .msm-section--middle,
#ioSection.io-section--more-stack #calc-more-stack .msm-section--flute2,
#ioSection.io-section--more-stack #calc-more-stack .msm-section--liner {
  padding-top: 0.12rem;
  padding-bottom: 0.14rem;
}

#ioSection.io-section--more-stack #calc-more-stack .msm-section-head {
  min-height: 1.4rem;
  margin-bottom: 0.07rem;
}

#ioSection.io-section--more-stack #calc-more-stack .msm-head-lib {
  min-height: 1.36rem;
  padding-top: 0.07rem;
  padding-bottom: 0.07rem;
}

#ioSection.io-section--more-stack #calc-more-stack .msm-head-lib-select {
  min-height: 1.32rem;
  padding-top: 0.07rem;
  padding-bottom: 0.07rem;
}

#ioSection.io-section--more-stack #calc-more-stack .msm-table th {
  padding-top: 0.1rem;
  padding-bottom: 0.1rem;
}

#ioSection.io-section--more-stack #calc-more-stack .msm-table td {
  padding-top: 0.09rem;
  padding-bottom: 0.09rem;
}

#ioSection.io-section--more-stack #calc-more-stack .msm-inp,
#ioSection.io-section--more-stack #calc-more-stack .msm-table--limits .msm-inp {
  min-height: 1.4rem;
  padding-top: 0.1rem;
  padding-bottom: 0.1rem;
  line-height: 1.14;
}

@media (min-width: 721px) {
  #ioSection.io-section--more-stack #calc-more-stack > .msm-layer-pick .box0201-layer-pick__face {
    min-height: 1.36rem;
    padding: 0.1rem 0.16rem;
  }

  #ioSection.io-section--more-stack #calc-more-stack > .msm-layer-pick .box0201-layer-pick__title {
    font-size: 0.78rem;
    line-height: 1.14;
  }

  #ioSection.io-section--more-stack #calc-more-stack.msm-mode-five.calc-panel.is-on,
  #ioSection.io-section--more-stack #calc-more-stack.msm-mode-three.calc-panel.is-on {
    gap: 0.11rem 0;
  }

  #ioSection.io-section--more-stack #calc-more-stack > .msm-section {
    padding-top: 0.17rem;
    padding-bottom: 0.18rem;
  }

  #ioSection.io-section--more-stack #calc-more-stack > .msm-section--required,
  #ioSection.io-section--more-stack #calc-more-stack > .msm-section--limits {
    padding-top: 0.14rem;
    padding-bottom: 0.14rem;
  }

  #ioSection.io-section--more-stack #calc-more-stack .msm-section--face,
  #ioSection.io-section--more-stack #calc-more-stack .msm-section--flute,
  #ioSection.io-section--more-stack #calc-more-stack .msm-section--middle,
  #ioSection.io-section--more-stack #calc-more-stack .msm-section--flute2,
  #ioSection.io-section--more-stack #calc-more-stack .msm-section--liner {
    padding-top: 0.14rem;
    padding-bottom: 0.15rem;
  }

  #ioSection.io-section--more-stack #calc-more-stack .msm-section-head {
    min-height: 1.52rem;
    margin-bottom: 0.09rem;
  }

  #ioSection.io-section--more-stack #calc-more-stack .msm-head-lib {
    min-height: 1.46rem;
    padding-top: 0.08rem;
    padding-bottom: 0.08rem;
  }

  #ioSection.io-section--more-stack #calc-more-stack .msm-head-lib-select {
    min-height: 1.4rem;
    padding-top: 0.08rem;
    padding-bottom: 0.08rem;
  }

  #ioSection.io-section--more-stack #calc-more-stack .msm-table th {
    padding-top: 0.13rem;
    padding-bottom: 0.13rem;
  }

  #ioSection.io-section--more-stack #calc-more-stack .msm-table td {
    padding-top: 0.12rem;
    padding-bottom: 0.12rem;
  }

  #ioSection.io-section--more-stack #calc-more-stack .msm-inp,
  #ioSection.io-section--more-stack #calc-more-stack .msm-table--limits .msm-inp {
    min-height: 1.52rem;
    padding-top: 0.12rem;
    padding-bottom: 0.12rem;
    line-height: 1.16;
  }
}

@media (max-width: 720px) {
  #ioSection.io-section--more-stack #calc-more-stack > .msm-layer-pick .box0201-layer-pick__face {
    min-height: 1.22rem;
    padding: 0.07rem 0.12rem;
  }

  #ioSection.io-section--more-stack #calc-more-stack > .msm-layer-pick .box0201-layer-pick__title {
    font-size: 0.74rem;
    line-height: 1.1;
  }

  #ioSection.io-section--more-stack #calc-more-stack .msm-inp,
  #ioSection.io-section--more-stack #calc-more-stack .msm-table--limits .msm-inp {
    min-height: 1.44rem;
  }
}

/* 自动配材：表单纵向再压缩（仅间距/行高，字号不变；仅 page--calc-more-stack / #calc-more-stack） */
#ioSection.io-section--more-stack #calc-more-stack.calc-panel.is-on {
  gap: 0.06rem 0;
}

#ioSection.io-section--more-stack #calc-more-stack.msm-mode-five.calc-panel.is-on {
  gap: 0.05rem 0;
}

#ioSection.io-section--more-stack #calc-more-stack > .msm-layer-pick {
  margin-bottom: 0;
}

#ioSection.io-section--more-stack #calc-more-stack > .msm-section {
  padding-top: 0.09rem;
  padding-bottom: 0.1rem;
}

#ioSection.io-section--more-stack #calc-more-stack > .msm-section--required,
#ioSection.io-section--more-stack #calc-more-stack > .msm-section--limits {
  padding-top: 0.08rem;
  padding-bottom: 0.08rem;
}

#ioSection.io-section--more-stack #calc-more-stack .msm-section--face,
#ioSection.io-section--more-stack #calc-more-stack .msm-section--flute,
#ioSection.io-section--more-stack #calc-more-stack .msm-section--middle,
#ioSection.io-section--more-stack #calc-more-stack .msm-section--flute2,
#ioSection.io-section--more-stack #calc-more-stack .msm-section--liner {
  padding-top: 0.09rem;
  padding-bottom: 0.1rem;
}

#ioSection.io-section--more-stack #calc-more-stack .msm-section-head {
  min-height: 1.28rem;
  margin-bottom: 0.05rem;
  gap: 0.08rem 0.12rem;
}

#ioSection.io-section--more-stack #calc-more-stack .msm-head-lib {
  min-height: 1.28rem;
  padding-top: 0.05rem;
  padding-bottom: 0.05rem;
}

#ioSection.io-section--more-stack #calc-more-stack .msm-head-lib-select {
  min-height: 1.26rem;
  padding-top: 0.05rem;
  padding-bottom: 0.05rem;
}

#ioSection.io-section--more-stack #calc-more-stack .msm-table th {
  padding-top: 0.08rem;
  padding-bottom: 0.08rem;
}

#ioSection.io-section--more-stack #calc-more-stack .msm-table td {
  padding-top: 0.07rem;
  padding-bottom: 0.07rem;
}

#ioSection.io-section--more-stack #calc-more-stack .msm-table--required tr.msm-req-head th:not(.msm-req-group-label) {
  padding-top: 0.08rem;
  padding-bottom: 0.08rem;
}

#ioSection.io-section--more-stack #calc-more-stack .msm-table--required tr.msm-req-row td {
  padding-top: 0.07rem;
  padding-bottom: 0.07rem;
}

#ioSection.io-section--more-stack #calc-more-stack .msm-table--limits tr.msm-limits-head th:not(.msm-limits-group-label),
#ioSection.io-section--more-stack #calc-more-stack .msm-table--limits tr.msm-limits-row td {
  padding-top: 0.07rem;
  padding-bottom: 0.07rem;
}

#ioSection.io-section--more-stack #calc-more-stack .msm-inp,
#ioSection.io-section--more-stack #calc-more-stack .msm-table--limits .msm-inp {
  min-height: 1.34rem;
  padding-top: 0.08rem;
  padding-bottom: 0.08rem;
}

#ioSection.io-section--more-stack #calc-more-stack .msm-calc-bar {
  padding-top: 0.06rem;
  padding-bottom: 0.06rem;
}

@media (min-width: 721px) {
  .page--calc-more-stack #ioSection.io-section--more-stack .calc-form-scroll,
  .page--calc-more-stack #ioSection.io-section--more-stack .scroll-panel {
    margin-top: 0.38rem;
    padding-top: 0.06rem;
  }

  #ioSection.io-section--more-stack #calc-more-stack.msm-mode-five.calc-panel.is-on,
  #ioSection.io-section--more-stack #calc-more-stack.msm-mode-three.calc-panel.is-on {
    gap: 0.07rem 0;
  }

  #ioSection.io-section--more-stack #calc-more-stack > .msm-layer-pick {
    margin-top: 0.04rem;
    margin-bottom: 0.04rem;
    padding-top: 0.04rem;
  }

  #ioSection.io-section--more-stack #calc-more-stack > .msm-layer-pick .box0201-layer-pick__face {
    min-height: 1.3rem;
    padding: 0.08rem 0.14rem;
  }

  #ioSection.io-section--more-stack #calc-more-stack > .msm-section {
    padding-top: 0.12rem;
    padding-bottom: 0.13rem;
  }

  #ioSection.io-section--more-stack #calc-more-stack > .msm-section--required,
  #ioSection.io-section--more-stack #calc-more-stack > .msm-section--limits {
    padding-top: 0.1rem;
    padding-bottom: 0.1rem;
  }

  #ioSection.io-section--more-stack #calc-more-stack .msm-section--face,
  #ioSection.io-section--more-stack #calc-more-stack .msm-section--flute,
  #ioSection.io-section--more-stack #calc-more-stack .msm-section--middle,
  #ioSection.io-section--more-stack #calc-more-stack .msm-section--flute2,
  #ioSection.io-section--more-stack #calc-more-stack .msm-section--liner {
    padding-top: 0.1rem;
    padding-bottom: 0.11rem;
  }

  #ioSection.io-section--more-stack #calc-more-stack .msm-section-head {
    min-height: 1.4rem;
    margin-bottom: 0.06rem;
  }

  #ioSection.io-section--more-stack #calc-more-stack .msm-head-lib {
    min-height: 1.34rem;
    padding-top: 0.06rem;
    padding-bottom: 0.06rem;
  }

  #ioSection.io-section--more-stack #calc-more-stack .msm-head-lib-select {
    min-height: 1.3rem;
    padding-top: 0.06rem;
    padding-bottom: 0.06rem;
  }

  #ioSection.io-section--more-stack #calc-more-stack .msm-table th {
    padding-top: 0.1rem;
    padding-bottom: 0.1rem;
  }

  #ioSection.io-section--more-stack #calc-more-stack .msm-table td {
    padding-top: 0.09rem;
    padding-bottom: 0.09rem;
  }

  #ioSection.io-section--more-stack #calc-more-stack .msm-inp,
  #ioSection.io-section--more-stack #calc-more-stack .msm-table--limits .msm-inp {
    min-height: 1.44rem;
    padding-top: 0.1rem;
    padding-bottom: 0.1rem;
  }
}

@media (max-width: 720px) {
  .page.page--layout.page--calc-more-stack {
    padding-top: max(0.02rem, env(safe-area-inset-top, 0px));
    padding-bottom: 0.04rem;
  }

  #ioSection.io-section--more-stack.block {
    padding-top: max(0.02rem, env(safe-area-inset-top, 0px));
    padding-bottom: 0.04rem;
  }

  .page--calc-more-stack #ioSection.io-section--more-stack .calc-form-scroll,
  .page--calc-more-stack #ioSection.io-section--more-stack .scroll-panel {
    margin-top: 0.18rem;
  }

  #ioSection.io-section--more-stack #calc-more-stack > .msm-layer-pick {
    margin-top: 0;
    margin-bottom: 0.02rem;
    padding-top: 0.04rem;
  }

  #ioSection.io-section--more-stack #calc-more-stack .msm-section--required {
    margin-top: 0.02rem;
  }

  #ioSection.io-section--more-stack #calc-more-stack .msm-section--face {
    margin-top: 0.06rem;
  }

  #ioSection.io-section--more-stack #calc-more-stack > .msm-layer-pick .box0201-layer-pick__face {
    min-height: 1.18rem;
    padding: 0.06rem 0.1rem;
  }

  #ioSection.io-section--more-stack #calc-more-stack > .msm-section {
    padding-top: 0.08rem;
    padding-bottom: 0.09rem;
  }

  #ioSection.io-section--more-stack #calc-more-stack .msm-section--face,
  #ioSection.io-section--more-stack #calc-more-stack .msm-section--flute,
  #ioSection.io-section--more-stack #calc-more-stack .msm-section--middle,
  #ioSection.io-section--more-stack #calc-more-stack .msm-section--flute2,
  #ioSection.io-section--more-stack #calc-more-stack .msm-section--liner {
    padding-top: 0.08rem;
    padding-bottom: 0.09rem;
  }

  #ioSection.io-section--more-stack #calc-more-stack .msm-section-head {
    min-height: 1.26rem;
    margin-bottom: 0.04rem;
    gap: 0.06rem 0.08rem;
  }

  #ioSection.io-section--more-stack #calc-more-stack .msm-head-lib {
    min-height: 1.26rem;
    padding: 0.05rem 0.1rem;
  }

  #ioSection.io-section--more-stack #calc-more-stack .msm-head-lib-select {
    min-height: 1.26rem;
    padding: 0.06rem 0.1rem;
  }

  #ioSection.io-section--more-stack #calc-more-stack .msm-table th {
    padding-top: 0.07rem;
    padding-bottom: 0.07rem;
  }

  #ioSection.io-section--more-stack #calc-more-stack .msm-table td {
    padding-top: 0.06rem;
    padding-bottom: 0.06rem;
  }

  #ioSection.io-section--more-stack #calc-more-stack .msm-table--required tr.msm-req-head th:not(.msm-req-group-label),
  #ioSection.io-section--more-stack #calc-more-stack .msm-table--required tr.msm-req-row td,
  #ioSection.io-section--more-stack #calc-more-stack .msm-table--limits tr.msm-limits-head th:not(.msm-limits-group-label),
  #ioSection.io-section--more-stack #calc-more-stack .msm-table--limits tr.msm-limits-row td {
    padding-top: 0.06rem;
    padding-bottom: 0.06rem;
  }

  #ioSection.io-section--more-stack #calc-more-stack .msm-inp,
  #ioSection.io-section--more-stack #calc-more-stack .msm-table--limits .msm-inp {
    min-height: 1.36rem;
    padding-top: 0.07rem;
    padding-bottom: 0.07rem;
  }

  #ioSection.io-section--more-stack #calc-more-stack select.msm-inp,
  #ioSection.io-section--more-stack #calc-more-stack .msm-table--limits select.msm-inp {
    min-height: 1.38rem;
    padding-top: 0.07rem;
    padding-bottom: 0.07rem;
  }

  #ioSection.io-section--more-stack #calc-more-stack .msm-calc-actions .btn {
    min-height: 1.46rem;
    padding-top: 0.16rem;
    padding-bottom: 0.16rem;
  }
}

/* ========== 包装相关标准分享 standards-share.html ========== */
.std-view[hidden] {
  display: none !important;
}

html.std--detail #stdListView,
html.std--editor #stdListView {
  display: none !important;
}

html.std--detail .page--standards {
  max-width: 42rem;
  gap: 0.5rem;
}

html.std--detail #stdDetailView {
  display: block !important;
}

html.std--detail #stdDetailView.block--elevated {
  border: none;
  background: transparent;
  box-shadow: none;
  padding: 0;
}

/* Article detail: document scroll (not .page--layout 100dvh trap) */
html.std--detail,
html.std--detail body {
  overflow-x: hidden;
  overflow-y: auto;
  max-height: none;
  height: auto;
}

html.std--detail .page--standards.page--layout {
  max-height: none;
  height: auto;
  overflow: visible;
}

html.std--detail #stdDetailView,
html.std--detail .std-article-card,
html.std--detail .std-article-body {
  max-height: none;
  overflow: visible;
}

html.std--editor #stdEditorView {
  display: flex !important;
}

#stdListAuthorActions[hidden],
#stdDetailActions[hidden] {
  display: none !important;
}

.app--standards {
  background: linear-gradient(168deg, #eef6e8 0%, #f8faf5 42%, #f1f5f0 100%);
}

.page--standards.page--layout {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  gap: 0.65rem;
  padding-bottom: 0.5rem;
  max-height: none;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.std-view--editor {
  display: flex;
  flex-direction: column;
  min-height: calc(100dvh - 5.5rem);
}

.std-editor-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding-bottom: 0.35rem;
}

.std-field--editor {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.page--standards .std-page-head {
  display: grid;
  grid-template-columns: 3.15rem minmax(0, 1fr) 3.15rem;
  align-items: center;
  gap: 0;
  min-height: 0;
  margin-bottom: 0.35rem;
  padding-right: 0;
  position: relative;
  flex-shrink: 0;
  overflow: visible;
}

.page--standards .std-page-head .brand-row {
  grid-column: 2;
  grid-row: 1;
  justify-self: center;
  margin: 0;
}

.page--standards .std-back-home {
  grid-column: 3;
  grid-row: 1;
  justify-self: end;
  align-self: center;
  position: static;
  flex-shrink: 0;
  z-index: auto;
  margin: 0;
  box-sizing: border-box;
  width: 3.15rem;
  height: 3.15rem;
  min-width: 3.15rem;
  min-height: 3.15rem;
  max-width: 3.15rem;
  max-height: 3.15rem;
  margin: 0;
  padding: 0.22rem 0.12rem;
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1.1;
  text-align: center;
  text-decoration: none;
  color: #2d4a22;
  border-radius: 9px;
  border: 1px solid rgba(88, 128, 72, 0.42);
  background: linear-gradient(168deg, #e8f2dc 0%, #dce8cc 100%);
  box-shadow: 0 2px 8px rgba(58, 88, 48, 0.12);
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.06rem;
  overflow: hidden;
  transition: background 0.15s, border-color 0.15s, transform 0.12s, box-shadow 0.15s;
}

.page--standards .std-back-home__line {
  display: block;
  width: 100%;
  max-width: 100%;
  line-height: 1.1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.page--standards .std-back-home:hover {
  filter: brightness(1.03);
  transform: translateY(-1px);
  box-shadow: 0 3px 10px rgba(58, 88, 48, 0.16);
}

.page--standards .std-back-home:focus-visible {
  outline: 2px solid rgba(88, 128, 72, 0.55);
  outline-offset: 2px;
}

.std-panel__title {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 700;
  color: #3a5230;
}

.std-list-head {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  margin-bottom: 0.4rem;
}

.std-list-head__row--title {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.35rem 0.5rem;
}

.std-list-head__start {
  min-width: 0;
}

.std-list-head__title--page {
  margin: 0;
  font-size: 1.08rem;
  font-weight: 800;
  line-height: 1.35;
  text-align: left;
  min-width: 0;
  max-width: 100%;
}

.std-list-head__end {
  justify-self: end;
  min-width: 0;
  flex-shrink: 0;
}

.std-list-search-wrap {
  width: 100%;
}

.std-list-search__label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.std-list-search {
  width: 100%;
  box-sizing: border-box;
  padding: 0.42rem 0.5rem;
  font-size: 0.86rem;
  border: 1px solid rgba(88, 128, 72, 0.28);
  border-radius: 8px;
  background: #fff;
  color: #2d4228;
}

.std-list-search::placeholder {
  color: #8a9a82;
}

.std-list-search:focus {
  outline: 2px solid rgba(88, 128, 72, 0.4);
  outline-offset: 1px;
  border-color: rgba(88, 128, 72, 0.45);
}

/* List view only: centered card, header/search/rows polish */
html:not(.std--detail) body.app--standards {
  background: linear-gradient(
    168deg,
    #eef6e8 0%,
    #f6f8f3 42%,
    #f2f5ef 68%,
    #ebe6de 100%
  );
}

.page--standards #stdListView {
  max-width: 34rem;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  box-sizing: border-box;
}

.std-view--list {
  --std-list-green: #588048;
  --std-list-green-deep: #2d4a22;
  --std-list-green-soft: rgba(88, 128, 72, 0.16);
  --std-list-pink: #e87a9a;
}

.std-view--list.block--elevated {
  padding: 1.3rem 1.2rem 1.4rem;
  border: 1px solid rgba(88, 128, 72, 0.16);
  background: linear-gradient(
    165deg,
    rgba(255, 255, 255, 0.98) 0%,
    rgba(255, 252, 247, 0.97) 45%,
    rgba(248, 252, 244, 0.96) 100%
  );
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.9) inset,
    0 12px 40px rgba(45, 74, 34, 0.09),
    0 3px 10px rgba(28, 22, 18, 0.05);
}

.std-view--list .std-list-head {
  gap: 0.55rem;
  margin-bottom: 0.65rem;
  padding: 0.7rem 0.75rem 0.8rem;
  border-radius: 12px;
  background: linear-gradient(
    180deg,
    rgba(232, 242, 220, 0.5) 0%,
    rgba(248, 250, 245, 0.28) 100%
  );
  border: 1px solid rgba(88, 128, 72, 0.12);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.65) inset;
}

.std-view--list .std-list-head__row--title {
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
}

.std-view--list .std-list-head__title--page {
  grid-column: 2;
  justify-self: center;
  text-align: center;
  position: relative;
  padding-bottom: 0.55rem;
  color: var(--std-list-green-deep);
  letter-spacing: 0.02em;
}

.std-view--list .std-list-head__title--page::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 2.75rem;
  height: 3px;
  border-radius: 99px;
  background: linear-gradient(
    90deg,
    var(--std-list-green) 0%,
    var(--std-list-pink) 100%
  );
  opacity: 0.92;
}

.std-view--list .std-list-head__end {
  grid-column: 3;
  justify-self: end;
}

.std-view--list .std-list-search-wrap {
  margin-top: 0.05rem;
}

.std-view--list .std-list-search {
  padding: 0.52rem 0.7rem;
  font-size: 0.92rem;
  min-height: 2.45rem;
  border: 1px solid rgba(88, 128, 72, 0.32);
  border-radius: 10px;
  background: linear-gradient(180deg, #fff 0%, #f8fbf6 100%);
  box-shadow: 0 1px 2px rgba(45, 74, 34, 0.06) inset;
  transition: border-color 0.15s, box-shadow 0.15s, background 0.15s;
}

.std-view--list .std-list-search:focus {
  outline: none;
  border-color: rgba(88, 128, 72, 0.55);
  background: #fff;
  box-shadow:
    0 0 0 3px rgba(88, 128, 72, 0.18),
    0 1px 2px rgba(45, 74, 34, 0.06) inset;
}

.std-view--list .std-list-empty {
  text-align: center;
  padding: 0.35rem 0.5rem;
  border-radius: 8px;
  background: rgba(232, 242, 220, 0.35);
}

.std-view--list .std-list {
  gap: 0.42rem;
  margin-top: 0.15rem;
}

.std-view--list .std-list-item__btn {
  padding: 0.62rem 0.72rem;
  border-radius: 11px;
  border: 1px solid rgba(88, 128, 72, 0.2);
  border-left: 3px solid transparent;
  background: #fff;
  box-shadow: 0 1px 3px rgba(45, 74, 34, 0.05);
  transition:
    border-color 0.15s,
    border-left-color 0.15s,
    box-shadow 0.18s,
    transform 0.18s,
    background 0.15s;
}

.std-view--list .std-list-item:nth-child(even) .std-list-item__btn {
  background: rgba(248, 252, 244, 0.85);
}

.std-view--list .std-list-item__btn:hover {
  border-color: rgba(88, 128, 72, 0.38);
  border-left-color: var(--std-list-green);
  background: #fff;
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(45, 74, 34, 0.11);
}

.std-view--list .std-list-item__btn:active {
  transform: translateY(0);
  box-shadow: 0 2px 8px rgba(45, 74, 34, 0.08);
}

.std-view--list .std-list-item__btn:focus-visible {
  outline: 2px solid rgba(88, 128, 72, 0.45);
  outline-offset: 2px;
}

.std-view--list .std-list-item__title {
  color: var(--std-list-green-deep);
}

.std-view--list .btn.btn-secondary.std-refresh {
  border-radius: 9px;
  letter-spacing: 0.02em;
  transition:
    background 0.15s,
    border-color 0.15s,
    transform 0.12s,
    box-shadow 0.15s;
}

.std-view--list .btn.btn-secondary.std-refresh:active {
  transform: translateY(0);
  box-shadow: 0 1px 5px rgba(58, 88, 48, 0.12);
}

.std-list-filter-empty {
  margin-top: 0.15rem;
}

.std-new-btn {
  padding: 0.32rem 0.55rem;
  font-size: 0.78rem;
  white-space: nowrap;
}

.btn.btn-secondary.std-refresh {
  padding: 0.3rem 0.52rem;
  min-height: 1.9rem;
  font-size: 0.8rem;
  font-weight: 600;
  white-space: nowrap;
  color: #2d4a22;
  border: 1px solid rgba(88, 128, 72, 0.42);
  background: linear-gradient(168deg, #e8f2dc 0%, #dce8cc 100%);
  box-shadow: 0 2px 8px rgba(58, 88, 48, 0.12);
}

.btn.btn-secondary.std-refresh:hover {
  color: #2d4a22;
  border-color: rgba(88, 128, 72, 0.5);
  background: linear-gradient(168deg, #ecf4e0 0%, #e2edd4 100%);
  filter: brightness(1.03);
  box-shadow: 0 3px 10px rgba(58, 88, 48, 0.16);
}

.btn.btn-secondary.std-refresh:focus-visible {
  outline: 2px solid rgba(88, 128, 72, 0.55);
  outline-offset: 2px;
}

.std-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.std-list-item__btn {
  width: 100%;
  text-align: left;
  padding: 0.55rem 0.6rem;
  border: 1px solid rgba(88, 128, 72, 0.22);
  border-radius: 10px;
  background: #fff;
  cursor: pointer;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.std-list-item__btn::before,
.std-list-item__btn::after {
  content: none !important;
  display: none !important;
}

.std-list-item__btn > :not(.std-list-item__title) {
  display: none !important;
}

.std-list-item__btn:hover {
  border-color: rgba(88, 128, 72, 0.45);
  box-shadow: 0 4px 14px rgba(58, 88, 48, 0.1);
}

.std-list-item__title {
  display: block;
  font-size: 0.9rem;
  font-weight: 700;
  color: #2d4228;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.std-list-empty {
  margin: 0.2rem 0 0;
  font-size: 0.8rem;
  color: #6b8060;
}

.std-back-list {
  margin-bottom: 0.5rem;
}

/* —— Article detail (blog layout) —— */
.std-detail-page {
  padding: 0 0 1rem;
}

.std-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.2rem 0.35rem;
  margin: 0 0 0.65rem;
  font-size: 0.74rem;
  line-height: 1.4;
  color: #7a8f72;
}

.std-breadcrumb__link {
  color: #5a7a50;
  text-decoration: none;
  background: none;
  border: none;
  padding: 0;
  font: inherit;
  cursor: pointer;
}

.std-breadcrumb__link:hover,
.std-breadcrumb__btn:hover {
  color: #3d7a48;
  text-decoration: underline;
}

.std-breadcrumb__sep {
  color: #a8b8a0;
  user-select: none;
}

.std-breadcrumb__current {
  color: #6b8060;
}

.std-article-hero {
  margin-bottom: 0.85rem;
}

.std-article-title {
  margin: 0 0 0.65rem;
  font-size: clamp(1.15rem, 4.5vw, 1.45rem);
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: 0.01em;
  color: #1f2e1a;
}

/* ========== 实测与理论计算 measure-theory-share.html (rust/amber theme) ========== */
.page--measure-theory {
  --mt-deep: #6b3428;
  --mt-rust: #b86850;
  --mt-rust-mid: #c87860;
  --mt-amber: #d09038;
  --mt-amber-bright: #e8a848;
  --mt-coral: #e87848;
  --mt-border: rgba(184, 104, 80, 0.32);
  --mt-border-soft: rgba(184, 104, 80, 0.16);
}

body.app--standards:has(.page--measure-theory) {
  background: linear-gradient(168deg, #faf0ea 0%, #f8f4f0 42%, #f5eee8 100%);
}

html:not(.std--detail) body.app--standards:has(.page--measure-theory) {
  background: linear-gradient(
    168deg,
    #faf0ea 0%,
    #f8f4f0 42%,
    #f5eee8 68%,
    #f0e6dc 100%
  );
}

.page--measure-theory .std-back-home {
  color: var(--mt-deep);
  border-color: rgba(184, 104, 80, 0.42);
  background: linear-gradient(168deg, #f8e8dc 0%, #f0dcd0 100%);
  box-shadow: 0 2px 8px rgba(107, 52, 40, 0.12);
}

.page--measure-theory .std-back-home:hover {
  box-shadow: 0 3px 10px rgba(107, 52, 40, 0.16);
}

.page--measure-theory .std-back-home:focus-visible {
  outline-color: rgba(184, 104, 80, 0.55);
}

.page--measure-theory .std-view--list {
  --std-list-green: var(--mt-rust-mid);
  --std-list-green-deep: var(--mt-deep);
  --std-list-green-soft: rgba(184, 104, 80, 0.16);
  --std-list-pink: var(--mt-coral);
}

.page--measure-theory .std-view--list.block--elevated {
  border-color: var(--mt-border-soft);
  background: linear-gradient(
    165deg,
    rgba(255, 255, 255, 0.98) 0%,
    rgba(255, 250, 245, 0.97) 45%,
    rgba(252, 244, 236, 0.96) 100%
  );
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.9) inset,
    0 12px 40px rgba(107, 52, 40, 0.09),
    0 3px 10px rgba(28, 22, 18, 0.05);
}

.page--measure-theory .std-view--list .std-list-head {
  background: linear-gradient(
    180deg,
    rgba(248, 228, 214, 0.55) 0%,
    rgba(252, 248, 244, 0.28) 100%
  );
  border-color: var(--mt-border-soft);
}

.page--measure-theory .std-view--list .std-list-head__title--page {
  background: linear-gradient(
    118deg,
    #8b4838 0%,
    #b86850 38%,
    #d09038 72%,
    #a05040 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 1px 2px rgba(107, 52, 40, 0.12));
}

.page--measure-theory .std-view--list .std-list-head__title--page::after {
  background: linear-gradient(
    90deg,
    var(--mt-rust-mid) 0%,
    var(--mt-amber) 55%,
    var(--mt-coral) 100%
  );
}

.page--measure-theory .std-view--list .std-list-search {
  border-color: var(--mt-border);
  color: #5a3828;
  background: linear-gradient(180deg, #fff 0%, #fdf8f4 100%);
  box-shadow: 0 1px 2px rgba(107, 52, 40, 0.06) inset;
}

.page--measure-theory .std-view--list .std-list-search::placeholder {
  color: #a89080;
}

.page--measure-theory .std-view--list .std-list-search:focus {
  border-color: rgba(184, 104, 80, 0.55);
  box-shadow:
    0 0 0 3px rgba(208, 144, 56, 0.2),
    0 1px 2px rgba(107, 52, 40, 0.06) inset;
}

.page--measure-theory .std-view--list .std-list-empty {
  background: rgba(248, 228, 214, 0.4);
}

.page--measure-theory .std-view--list .std-list-item__btn {
  border-color: rgba(184, 104, 80, 0.22);
  box-shadow: 0 1px 3px rgba(107, 52, 40, 0.05);
}

.page--measure-theory .std-view--list .std-list-item:nth-child(even) .std-list-item__btn {
  background: rgba(252, 246, 240, 0.85);
}

.page--measure-theory .std-view--list .std-list-item__btn:hover {
  border-color: rgba(184, 104, 80, 0.42);
  border-left-color: var(--mt-rust-mid);
  box-shadow: 0 6px 18px rgba(107, 52, 40, 0.11);
}

.page--measure-theory .std-view--list .std-list-item__btn:active {
  box-shadow: 0 2px 8px rgba(107, 52, 40, 0.08);
}

.page--measure-theory .std-view--list .std-list-item__btn:focus-visible {
  outline-color: rgba(184, 104, 80, 0.45);
}

.page--measure-theory .btn.btn-secondary.std-refresh {
  color: var(--mt-deep);
  border-color: rgba(184, 104, 80, 0.42);
  background: linear-gradient(168deg, #f8e8dc 0%, #f0dcd0 100%);
  box-shadow: 0 2px 8px rgba(107, 52, 40, 0.12);
}

.page--measure-theory .btn.btn-secondary.std-refresh:hover {
  color: var(--mt-deep);
  border-color: rgba(184, 104, 80, 0.5);
  background: linear-gradient(168deg, #fceee4 0%, #f4e4d8 100%);
  box-shadow: 0 3px 10px rgba(107, 52, 40, 0.16);
}

.page--measure-theory .btn.btn-secondary.std-refresh:focus-visible {
  outline-color: rgba(184, 104, 80, 0.55);
}

.page--measure-theory .std-view--list .btn.btn-secondary.std-refresh:active {
  box-shadow: 0 1px 5px rgba(107, 52, 40, 0.12);
}

.page--measure-theory .std-breadcrumb {
  color: #a08070;
}

.page--measure-theory .std-breadcrumb__link {
  color: #8b5848;
}

.page--measure-theory .std-breadcrumb__link:hover,
.page--measure-theory .std-breadcrumb__btn:hover {
  color: var(--mt-rust);
}

.page--measure-theory .std-breadcrumb__sep {
  color: #c8a898;
}

.page--measure-theory .std-breadcrumb__current {
  color: #907060;
}

.page--measure-theory .std-article-body h2 {
  border-left-color: var(--mt-amber);
}

/* Measure-theory detail: centered hero title with rust/amber accent */
.page--measure-theory .std-article-hero {
  text-align: center;
  padding: 0.25rem 0.35rem 0.1rem;
}

.page--measure-theory .std-article-title {
  display: inline-block;
  max-width: 100%;
  margin: 0 auto 0.85rem;
  text-align: center;
  font-size: clamp(1.2rem, 4.8vw, 1.55rem);
  line-height: 1.42;
  letter-spacing: 0.06em;
  color: var(--mt-deep);
  background: linear-gradient(
    118deg,
    #8b4838 0%,
    #b86850 36%,
    #d09038 68%,
    #a05040 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 1px 2px rgba(107, 52, 40, 0.14));
  position: relative;
  padding-bottom: 0.72rem;
}

.page--measure-theory .std-article-title::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: min(4.5rem, 44%);
  height: 3px;
  border-radius: 99px;
  background: linear-gradient(
    90deg,
    var(--mt-rust-mid) 0%,
    var(--mt-amber) 50%,
    var(--mt-coral) 100%
  );
  opacity: 0.92;
  box-shadow: 0 1px 4px rgba(208, 144, 56, 0.26);
}

.std-article-card {
  padding: 0.15rem;
  border-radius: 12px;
  background: #e8ece6;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.6) inset;
}

.std-article-body {
  min-height: 5rem;
  padding: 1rem 1.05rem 1.15rem;
  font-size: 0.92rem;
  line-height: 1.75;
  color: #2a3228;
  border-radius: 10px;
  background: #fff;
  overflow: visible;
}

.std-article-body--loading,
.std-article-loading {
  color: #7a9080;
  font-size: 0.84rem;
}

.std-article-error {
  margin: 0.35rem 0;
  font-size: 0.88rem;
  color: #9a3030;
}

.std-article-body h2,
.std-article-body h3 {
  margin: 1.35rem 0 0.55rem;
  color: #2d3828;
  font-weight: 700;
}

.std-article-body h2 {
  font-size: 1.02rem;
  padding-left: 0.6rem;
  border-left: 4px solid #e87a9a;
  line-height: 1.45;
}

.std-article-body h3 {
  font-size: 0.94rem;
  padding-left: 0.45rem;
  border-left: 3px solid rgba(232, 122, 154, 0.55);
}

.std-article-body p {
  margin: 0.55rem 0;
}

.std-article-body ul,
.std-article-body ol {
  margin: 0.5rem 0 0.65rem 1.25rem;
  padding: 0;
}

.std-article-body li {
  margin: 0.25rem 0;
}

.std-article-body img,
.std-article-body .std-article-img,
#stdEditor img,
.std-editor img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 1rem auto;
  object-fit: contain;
  border-radius: 8px;
  box-shadow: 0 2px 12px rgba(40, 56, 36, 0.08);
}

.std-article-body a {
  color: #3d7a48;
  word-break: break-word;
}

.std-article-body blockquote,
.std-article-body .std-link-box,
.std-article-body p.std-link-box {
  margin: 1rem 0;
  padding: 0.7rem 0.85rem;
  border: 1px dashed #e8a0b8;
  border-radius: 8px;
  background: #fff8fa;
  color: #4a3838;
}

.std-article-body blockquote p,
.std-article-body .std-link-box p {
  margin: 0.35rem 0;
}

#stdEditor h2,
.std-editor h2 {
  font-size: 1.02rem;
  padding-left: 0.6rem;
  border-left: 4px solid #e87a9a;
  line-height: 1.45;
}

#stdEditor blockquote.std-link-box,
.std-editor blockquote.std-link-box {
  margin: 1rem 0;
  padding: 0.7rem 0.85rem;
  border: 1px dashed #e8a0b8;
  border-radius: 8px;
  background: #fff8fa;
  color: #4a3838;
}

#stdEditor blockquote.std-link-box p,
.std-editor blockquote.std-link-box p {
  margin: 0.35rem 0;
}

#stdEditor img,
.std-editor img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  min-height: 1.5rem;
  margin: 0.4rem 0;
  box-shadow: none;
}

.std-detail-actions {
  display: flex;
  gap: 0.4rem;
  margin-top: 0.5rem;
}

.std-delete-btn {
  color: #9a3030;
  border-color: rgba(154, 48, 48, 0.35);
}

.std-editor-hint {
  margin: 0.15rem 0 0.45rem;
  font-size: 0.74rem;
  color: #6b8060;
}

.std-field {
  margin-bottom: 0.45rem;
}

.std-label {
  display: block;
  margin-bottom: 0.2rem;
  font-size: 0.78rem;
  font-weight: 600;
  color: #4a6240;
}

.std-title-input {
  width: 100%;
  box-sizing: border-box;
  padding: 0.42rem 0.5rem;
  font-size: 0.86rem;
  border: 1px solid rgba(88, 128, 72, 0.28);
  border-radius: 8px;
}

.std-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.28rem;
  margin-bottom: 0.32rem;
}

.std-tool-btn {
  padding: 0.28rem 0.48rem;
  font-size: 0.74rem;
  font-weight: 600;
  line-height: 1.2;
  color: #3a5230;
  border: 1px solid rgba(88, 128, 72, 0.32);
  border-radius: 6px;
  background: #f4f8ef;
  cursor: pointer;
}

.std-tool-btn:hover {
  background: #e8f0dc;
}

.std-tool-btn--accent {
  background: #e8f2dc;
  border-color: rgba(88, 128, 72, 0.45);
}

.std-tool-btn--accent:hover {
  background: #dce8cc;
}

.std-editor {
  flex: 1 1 auto;
  min-height: max(26.25rem, 50vh);
  padding: 0.5rem 0.55rem;
  font-size: 0.84rem;
  line-height: 1.6;
  border: 1px solid rgba(88, 128, 72, 0.28);
  border-radius: 8px;
  background: #fff;
  outline: none;
}

.std-editor:empty::before {
  content: attr(data-placeholder);
  color: #9aa890;
  pointer-events: none;
}

.std-editor:focus {
  border-color: rgba(88, 128, 72, 0.55);
  box-shadow: 0 0 0 2px rgba(136, 168, 104, 0.2);
}

.std-form-msg {
  margin: 0.35rem 0;
  font-size: 0.78rem;
}

.std-form-msg.is-error {
  color: #9a3030;
}

.std-form-msg.is-ok {
  color: #3d7a48;
}

.std-debug-api {
  margin: 0.2rem 0 0;
  font-size: 0.68rem;
  color: #6a7a62;
  word-break: break-all;
}

.std-editor-actions {
  position: sticky;
  bottom: 0;
  z-index: 20;
  display: flex;
  gap: 0.4rem;
  margin-top: auto;
  padding: 0.55rem 0 0.35rem;
  border-top: 1px solid rgba(88, 128, 72, 0.18);
  background: linear-gradient(180deg, rgba(248, 250, 245, 0.92) 0%, #f8faf5 28%);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.std-loading {
  color: #6b8060;
  font-size: 0.8rem;
}

.page--standards .page-head--compact .brand-logo {
  height: 1.82rem;
  max-width: min(90vw, 12.5rem);
}

@media (max-width: 768px) {
  .std-view--editor {
    min-height: calc(100dvh - 4.75rem);
  }

  .std-editor {
    min-height: max(18rem, 40vh);
  }
}

@media (max-width: 480px) {
  .page--standards .std-page-head {
    grid-template-columns: 2.85rem minmax(0, 1fr) 2.85rem;
    margin-bottom: 0.3rem;
  }

  .page--standards .std-back-home {
    width: 2.85rem;
    height: 2.85rem;
    min-width: 2.85rem;
    min-height: 2.85rem;
    max-width: 2.85rem;
    max-height: 2.85rem;
  }

  .std-list-head__row--title {
    gap: 0.3rem 0.4rem;
  }

  .std-list-head__title--page {
    font-size: 1.02rem;
  }

  .std-view--list.block--elevated {
    padding: 1.1rem 0.95rem 1.2rem;
  }

  .std-view--list .std-list-head {
    padding: 0.6rem 0.55rem 0.7rem;
  }

  .std-view--list .std-list-search {
    min-height: 2.35rem;
    font-size: 0.9rem;
  }

  .std-view--list .std-list-item__btn {
    padding: 0.58rem 0.62rem;
  }

  .std-view--list .std-list-item__btn:hover {
    transform: none;
  }

  .std-article-body {
    padding: 0.85rem 0.8rem 1rem;
    font-size: 0.88rem;
  }

  .std-article-title {
    font-size: 1.12rem;
  }

  .page--measure-theory .std-article-title {
    font-size: 1.15rem;
    letter-spacing: 0.04em;
    padding-bottom: 0.62rem;
  }

  .std-tool-btn {
    font-size: 0.7rem;
    padding: 0.26rem 0.38rem;
  }
}

/* 0201 纸箱尺寸换算（box0201-gb6543）— 青蓝主题与结果表 */
#calc-box0201-gb6543 {
  --box0201gb-press: 59, 130, 246;
  --box0201gb-inner: 34, 197, 94;
  --box0201gb-outer: 245, 158, 11;
  --box0201gb-accent: 72, 128, 158;
  --box0201gb-slate: 72, 136, 168;
}
#calc-box0201-gb6543 .box0201gb-inputs {
  margin-bottom: 0.7rem;
}
#calc-box0201-gb6543 .box0201gb-form {
  display: flex;
  flex-direction: column;
  gap: 0.58rem;
  padding: 0.62rem 0.68rem;
  border-radius: 12px;
  border: 1px solid rgba(var(--box0201gb-slate), 0.34);
  background: linear-gradient(168deg, rgba(var(--box0201gb-slate), 0.1) 0%, rgba(var(--box0201gb-slate), 0.04) 100%);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.55) inset;
}
#calc-box0201-gb6543 .box0201gb-row {
  display: flex;
  flex-direction: column;
  gap: 0.24rem;
  min-width: 0;
}
#calc-box0201-gb6543 .box0201gb-row__label {
  font-size: 0.76rem;
  font-weight: 700;
  color: rgb(52, 96, 122);
  letter-spacing: 0.02em;
  line-height: 1.25;
}
#calc-box0201-gb6543 .box0201gb-row--dims {
  padding: 0.4rem 0.44rem 0.44rem;
  border-radius: 10px;
  background: rgba(var(--box0201gb-inner), 0.07);
  border: 1px solid rgba(var(--box0201gb-inner), 0.22);
}
#calc-box0201-gb6543 .box0201gb-select {
  width: 100%;
  box-sizing: border-box;
  min-width: 0;
  padding: 0.44rem 0.55rem;
  border: 1px solid rgba(var(--box0201gb-accent), 0.38);
  border-radius: 9px;
  font-size: 0.86rem;
  background: #fff;
  color: var(--ink);
  box-shadow: 0 1px 2px rgba(var(--box0201gb-accent), 0.08);
}
#calc-box0201-gb6543 .box0201gb-select:focus {
  outline: 2px solid rgba(var(--box0201gb-accent), 0.35);
  border-color: rgb(var(--box0201gb-accent));
}
#calc-box0201-gb6543 .box0201gb-lwh-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.36rem 0.42rem;
  width: 100%;
  min-width: 0;
  flex-wrap: nowrap;
}
#calc-box0201-gb6543 .box0201gb-field {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.18rem;
}
#calc-box0201-gb6543 .box0201gb-field__label {
  font-size: 0.72rem;
  font-weight: 700;
  color: rgb(20, 100, 55);
  letter-spacing: 0.02em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#calc-box0201-gb6543 .box0201gb-row--thickness .box0201gb-row__input {
  width: 100%;
  box-sizing: border-box;
  padding: 0.44rem 0.5rem;
  border: 1px solid rgba(var(--box0201gb-accent), 0.38);
  border-radius: 9px;
  font-size: 0.88rem;
  background: #fff;
}
#calc-box0201-gb6543 .box0201gb-row--thickness .box0201gb-row__input:focus {
  outline: 2px solid rgba(var(--box0201gb-accent), 0.35);
  border-color: rgb(var(--box0201gb-accent));
}
#calc-box0201-gb6543 .box0201gb-field__input--invalid {
  border-color: #dc2626 !important;
  background: rgba(254, 226, 226, 0.35);
}
#calc-box0201-gb6543 .box0201gb-field__hint {
  font-size: 0.62rem;
  line-height: 1.25;
  color: #b91c1c;
  margin-top: -0.02rem;
}
#calc-box0201-gb6543 .box0201gb-field input[type='number'] {
  width: 100%;
  box-sizing: border-box;
  min-width: 0;
  padding: 0.42rem 0.5rem;
  border: 1px solid rgba(var(--box0201gb-inner), 0.32);
  border-radius: 8px;
  font-size: 0.88rem;
  background: #fff;
}
#calc-box0201-gb6543 .box0201gb-field input[type='number']::placeholder {
  color: rgba(28, 25, 23, 0.38);
}
#calc-box0201-gb6543 .box0201gb-field input[type='number']:focus {
  outline: 2px solid rgba(var(--box0201gb-inner), 0.35);
  border-color: rgb(var(--box0201gb-inner));
}
#calc-box0201-gb6543 .box0201gb-calc-actions {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  width: 100%;
  box-sizing: border-box;
}
#calc-box0201-gb6543 .box0201gb-calc-actions .btn {
  flex: 1 1 0;
  min-width: 0;
}
#calc-box0201-gb6543 .box0201gb-calc-actions .btn-primary#btnBox0201GbCalc {
  min-width: 6.5rem;
  font-weight: 700;
}
#calc-box0201-gb6543 .box0201gb-calc-actions .btn-secondary#btnBox0201GbClear {
  white-space: nowrap;
  font-weight: 600;
  background: linear-gradient(180deg, #fff7ed 0%, #ffedd5 52%, #fed7aa 100%);
  border: 1px solid rgba(194, 65, 12, 0.48);
  color: #9a3412;
  box-shadow: 0 1px 4px rgba(194, 65, 12, 0.14);
}
#calc-box0201-gb6543 .box0201gb-calc-actions .btn-secondary#btnBox0201GbClear:hover {
  background: linear-gradient(180deg, #fffbeb 0%, #fef3c7 48%, #fde68a 100%);
  border-color: rgba(194, 65, 12, 0.58);
  color: #7c2d12;
}
#calc-box0201-gb6543 .mckee-calc-bar--box0201gb {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}
#calc-box0201-gb6543 .mckee-calc-out-wrap .out.muted {
  font-size: 0.82rem;
  line-height: 1.45;
  color: var(--muted);
}
#calc-box0201-gb6543 .box0201gb-result {
  padding: 0.15rem 0 0.1rem;
}
#calc-box0201-gb6543 .box0201gb-result-meta {
  margin: 0 0 0.5rem;
  font-size: 0.82rem;
  color: var(--muted);
}
#calc-box0201-gb6543 .box0201gb-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: 10px;
  border: 1px solid rgba(var(--box0201gb-accent), 0.2);
  box-shadow: 0 2px 10px rgba(var(--box0201gb-accent), 0.08);
}
#calc-box0201-gb6543 .box0201gb-result-table {
  width: 100%;
  min-width: 28rem;
  border-collapse: collapse;
  font-size: 0.88rem;
}
#calc-box0201-gb6543 .box0201gb-result-table th,
#calc-box0201-gb6543 .box0201gb-result-table td {
  padding: 0.5rem 0.55rem;
  text-align: center;
  border: 1px solid rgba(0, 0, 0, 0.07);
}
#calc-box0201-gb6543 .box0201gb-th--press {
  background: rgba(var(--box0201gb-press), 0.2);
  color: rgb(30, 64, 120);
  font-weight: 700;
}
#calc-box0201-gb6543 .box0201gb-th--inner {
  background: rgba(var(--box0201gb-inner), 0.2);
  color: rgb(20, 100, 55);
  font-weight: 700;
}
#calc-box0201-gb6543 .box0201gb-th--outer {
  background: rgba(var(--box0201gb-outer), 0.22);
  color: rgb(140, 85, 10);
  font-weight: 700;
}
#calc-box0201-gb6543 .box0201gb-td--press {
  background: rgba(var(--box0201gb-press), 0.09);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
#calc-box0201-gb6543 .box0201gb-td--inner {
  background: rgba(var(--box0201gb-inner), 0.09);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
#calc-box0201-gb6543 .box0201gb-td--outer {
  background: rgba(var(--box0201gb-outer), 0.11);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
#calc-box0201-gb6543 .box0201gb-result-stack {
  display: none;
}
#calc-box0201-gb6543 .box0201gb-stack-row {
  border-radius: 10px;
  border: 1px solid rgba(var(--box0201gb-accent), 0.2);
  overflow: hidden;
  margin-bottom: 0.42rem;
}
#calc-box0201-gb6543 .box0201gb-stack-row:last-child {
  margin-bottom: 0;
}
#calc-box0201-gb6543 .box0201gb-stack-row__title {
  padding: 0.38rem 0.55rem;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}
#calc-box0201-gb6543 .box0201gb-stack-row--press .box0201gb-stack-row__title {
  background: rgba(var(--box0201gb-press), 0.2);
  color: rgb(30, 64, 120);
}
#calc-box0201-gb6543 .box0201gb-stack-row--inner .box0201gb-stack-row__title {
  background: rgba(var(--box0201gb-inner), 0.2);
  color: rgb(20, 100, 55);
}
#calc-box0201-gb6543 .box0201gb-stack-row--outer .box0201gb-stack-row__title {
  background: rgba(var(--box0201gb-outer), 0.22);
  color: rgb(140, 85, 10);
}
#calc-box0201-gb6543 .box0201gb-stack-row__dims {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.35rem;
  padding: 0.45rem 0.5rem 0.5rem;
  background: #fff;
}
#calc-box0201-gb6543 .box0201gb-stack-dim {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.12rem;
  min-width: 0;
}
#calc-box0201-gb6543 .box0201gb-stack-dim em {
  font-style: normal;
  font-size: 0.68rem;
  font-weight: 700;
  color: var(--muted);
}
#calc-box0201-gb6543 .box0201gb-stack-dim strong {
  font-size: 0.92rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--ink);
}
#ioSection.io-section--box0201-gb6543 .box0201gb-title-br {
  display: none;
}
@media (max-width: 768px) {
  .page.page--layout.page--calc-box0201-gb6543 {
    padding-top: 0.12rem;
  }
  .page.page--layout.page--calc-box0201-gb6543 .page-head--compact {
    margin-bottom: 0.08rem;
  }
  .page.page--layout.page--calc-box0201-gb6543 .page-head--compact .brand-logo {
    height: 1.44rem;
    max-width: min(84vw, 10rem);
  }
  #ioSection.io-section--box0201-gb6543.block {
    padding: 0.48rem 0.46rem 0.38rem;
  }
  #ioSection.io-section--box0201-gb6543 .io-corner-nav {
    top: 0.4rem;
    left: 0.48rem;
    right: 0.48rem;
  }
  #ioSection.io-section--box0201-gb6543 .io-corner-nav__tile {
    width: 2.42rem;
    height: 2.42rem;
    min-width: 2.42rem;
    min-height: 2.42rem;
    max-width: 2.42rem;
    max-height: 2.42rem;
    font-size: 0.58rem;
    padding: 0.1rem 0.06rem;
  }
  #ioSection.io-section--box0201-gb6543 .theory-feature-name,
  #ioSection.io-section--box0201-gb6543 #calcFeatureName {
    margin: 0 0 0.1rem;
    padding-left: clamp(2.45rem, 3.2vw + 1.65rem, 5.2rem);
    padding-right: clamp(2.45rem, 3.2vw + 1.65rem, 5.2rem);
    font-size: 0.76rem;
    line-height: 1.12;
    letter-spacing: 0.01em;
  }
  #ioSection.io-section--box0201-gb6543 .box0201gb-title-br {
    display: inline;
  }
  #ioSection.io-section--box0201-gb6543 .theory-title-row {
    margin-bottom: 0.1rem;
    padding-bottom: 0.14rem;
    padding-left: clamp(2.45rem, 3.2vw + 1.65rem, 5.2rem);
    padding-right: clamp(2.45rem, 3.2vw + 1.65rem, 5.2rem);
  }
  #ioSection.io-section--box0201-gb6543 .theory-section-title--row {
    font-size: 0.78rem;
  }
  #ioSection.io-section--box0201-gb6543 .io-hint-bubble {
    margin: -0.08rem 0 0.2rem;
    padding: 0.26rem 0.32rem;
    font-size: 0.64rem;
    line-height: 1.3;
  }
  #ioSection.io-section--box0201-gb6543 .io-hint-trigger {
    width: 1.22rem;
    height: 1.22rem;
    min-width: 1.22rem;
    font-size: 0.68rem;
  }
  #ioSection.io-section--box0201-gb6543 .io-actions--bar {
    margin-top: 0.26rem;
    padding-top: 0.3rem;
  }
  #calc-box0201-gb6543 .box0201gb-inputs {
    margin-bottom: 0.42rem;
  }
  #calc-box0201-gb6543 .box0201gb-form {
    gap: 0.38rem;
    padding: 0.42rem 0.46rem;
  }
  #calc-box0201-gb6543 .box0201gb-row {
    gap: 0.18rem;
  }
  #calc-box0201-gb6543 .box0201gb-row__label {
    font-size: 0.72rem;
  }
  #calc-box0201-gb6543 .box0201gb-row--dims {
    padding: 0.28rem 0.32rem 0.32rem;
  }
  #calc-box0201-gb6543 .box0201gb-select,
  #calc-box0201-gb6543 .box0201gb-row--thickness .box0201gb-row__input {
    padding: 0.36rem 0.42rem;
  }
  #calc-box0201-gb6543 .box0201gb-lwh-row {
    gap: 0.28rem 0.3rem;
  }
  #calc-box0201-gb6543 .box0201gb-field {
    gap: 0.14rem;
  }
  #calc-box0201-gb6543 .box0201gb-field__label {
    font-size: 0.66rem;
  }
  #calc-box0201-gb6543 .box0201gb-field input[type='number'] {
    font-size: 0.8rem;
    padding: 0.36rem 0.3rem;
  }
  #calc-box0201-gb6543 .mckee-calc-bar--box0201gb {
    gap: 0.36rem;
  }
  #calc-box0201-gb6543 .box0201gb-calc-actions {
    gap: 0.36rem;
  }
  #calc-box0201-gb6543 .box0201gb-calc-actions .btn.btn-primary,
  #calc-box0201-gb6543 .box0201gb-calc-actions .btn.btn-secondary {
    flex: 1 1 calc(50% - 0.25rem);
    min-width: 6.5rem;
  }
  #calc-box0201-gb6543 .mckee-calc-out-wrap .out.muted {
    font-size: 0.76rem;
    line-height: 1.38;
  }
  #calc-box0201-gb6543 .box0201gb-result {
    padding: 0.06rem 0 0.02rem;
  }
  #calc-box0201-gb6543 .box0201gb-result-meta {
    margin: 0 0 0.3rem;
    font-size: 0.76rem;
  }
  #calc-box0201-gb6543 .box0201gb-table-wrap {
    display: none;
  }
  #calc-box0201-gb6543 .box0201gb-result-stack {
    display: block;
  }
  #calc-box0201-gb6543 .box0201gb-stack-row {
    margin-bottom: 0.28rem;
    border-radius: 8px;
  }
  #calc-box0201-gb6543 .box0201gb-stack-row__title {
    padding: 0.28rem 0.42rem;
    font-size: 0.72rem;
  }
  #calc-box0201-gb6543 .box0201gb-stack-row__dims {
    gap: 0.24rem;
    padding: 0.32rem 0.38rem 0.34rem;
  }
  #calc-box0201-gb6543 .box0201gb-stack-dim {
    gap: 0.08rem;
  }
  #calc-box0201-gb6543 .box0201gb-stack-dim em {
    font-size: 0.64rem;
  }
  #calc-box0201-gb6543 .box0201gb-stack-dim strong {
    font-size: 0.86rem;
  }
}