/* ============================================================
   VERSO theme — in-house pages only (NOT #view-feed / .douyin)
   cream × navy · large radius · soft depth · IP motion
   ============================================================ */

:root{
  --verso-navy: #1f3a4a;
  --verso-navy-deep: #152a36;
  /* IP 脸板冷象牙 · 不作暖米黄页底 */
  --verso-cream: #f2f4f7;
  --verso-mist: #e8eef4;
  /* Cold Luxury 页底 · 银雾 + 海军蓝光晕（对齐 IP，无粉/桃） */
  --verso-page-top: #dce8f2;
  --verso-page-mid: #eef3f8;
  --verso-page-bot: #f7f9fc;
  --verso-page-bg:
    radial-gradient(ellipse 95% 58% at 6% -8%, rgba(31,58,74,.16), transparent 56%),
    radial-gradient(ellipse 75% 48% at 98% 6%, rgba(140,180,210,.28), transparent 54%),
    radial-gradient(ellipse 60% 42% at 72% 100%, rgba(31,58,74,.06), transparent 58%),
    linear-gradient(180deg, var(--verso-page-top) 0%, var(--verso-page-mid) 46%, var(--verso-page-bot) 100%);
  --verso-ice: #b8cfe0;
  --verso-sage: #5f8a62;
  --verso-shadow: 0 14px 44px -18px rgba(31, 58, 74, 0.28);
  --verso-radius: 26px;
  --verso-radius-sm: 18px;
  --verso-spring: cubic-bezier(0.16, 1, 0.3, 1);
  /* Motion ladder · Cold Luxury spring (MOTION 6) */
  --verso-ease-spring: var(--verso-spring);
  --verso-ease-soft: cubic-bezier(0.33, 1, 0.68, 1);
  --verso-dur-press: 100ms;
  --verso-dur-ui: 200ms;
  --verso-dur-enter: 380ms;
  --verso-dur-sheet: 460ms;
  --verso-dur-ambient: 2.8s;
  /* Liquid glass tokens (web approximation of Apple materials) */
  --verso-glass-bg:
    linear-gradient(145deg, rgba(255,255,255,.52), rgba(255,255,255,.18)),
    rgba(255,255,255,.28);
  --verso-glass-bg-strong:
    linear-gradient(145deg, rgba(255,255,255,.62), rgba(255,255,255,.28)),
    rgba(255,255,255,.42);
  --verso-glass-border: 1px solid rgba(255,255,255,.55);
  --verso-glass-edge:
    inset 0 1px 0 rgba(255,255,255,.72),
    inset 0 -1px 0 rgba(255,255,255,.12);
  --verso-glass-blur: blur(28px) saturate(180%) contrast(1.04);
  --verso-glass-shadow:
    0 18px 48px -20px rgba(21,42,54,.28),
    0 4px 14px -6px rgba(21,42,54,.12),
    var(--verso-glass-edge);
}

/* body / rail redesign (desktop chrome) — keep copy, restyle */
body{
  background:
    radial-gradient(ellipse 80% 50% at 10% 0%, rgba(31,58,74,.08), transparent 55%),
    radial-gradient(ellipse 60% 40% at 94% 8%, rgba(140,180,210,.12), transparent 52%),
    #e8eef3;
}
.rail-wordmark{ color: var(--verso-navy); }
.rail-tagline{
  color: color-mix(in srgb, var(--verso-navy) 52%, #8a96a3);
}
.rail h1{
  font-size: clamp(26px, 3.4vw, 36px);
  letter-spacing: -.03em;
  margin-top: 2px;
}
.rail h1 em{ color: var(--verso-navy); }
.rail .sub{ color: #5a6570; }
.rail .sub b{ color: var(--verso-navy-deep); }
.flow{
  border-top-color: rgba(31,58,74,.1);
}
.flow:last-child{ border-bottom-color: rgba(31,58,74,.1); }
.flow .n{ color: var(--verso-navy); font-weight: 700; }
.flow .t b{ color: var(--verso-navy-deep); }
.railtag{
  border-left-color: var(--verso-navy);
  color: #7a8690;
}
/* Dual-sided book IP · transparent animated WebP (no white plate) */
.rail-ip{
  display: block;
  width: 148px;
  height: auto;
  aspect-ratio: 444 / 333;
  margin: 0 0 2px -6px;
  object-fit: contain;
  background: transparent;
  border: 0;
  /* darken: residual near-white plate blends into page bg; cream/navy stay */
  mix-blend-mode: darken;
  filter: drop-shadow(0 10px 18px rgba(31,58,74,.16));
  pointer-events: none;
  animation: none;
}
@media (min-width: 901px){
  .rail{
    align-self: center;
    transform: translateY(-56px);
  }
}

/* screen flag set by JS when not on feed */
.screen.in-house{
  --ember: var(--verso-navy);
  --ember-hi: #3d6a82;
  --ember-deep: var(--verso-navy-deep);
  --glow: 31, 58, 74;
  --lbg: #f7f9fb;
  --lcard: #ffffff;
  --lborder: rgba(31, 58, 74, 0.1);
  --ltext: #1a2430;
  --ltext2: #4a5560;
  --lmut: #7a8690;
  --lfaint: #9aa5b0;
  --lshadow: var(--verso-shadow);
  --lradius: var(--verso-radius-sm);
}

/* ---- in-house views · 清透冷白渐变（全页统一，不要土黄） ---- */
.screen.in-house #view-home,
.screen.in-house #view-rooms,
.screen.in-house #view-todo,
.screen.in-house #view-me,
.screen.in-house #view-room{
  background: var(--verso-page-bg);
}
/* 灵感库：与全站统一的清透冷白，无突兀蓝光晕 */
.screen.in-house #view-inspo{
  background: var(--verso-page-bg);
}

.screen.in-house .homeAura{
  background:
    radial-gradient(ellipse 90% 50% at 12% -8%, rgba(31,58,74,.12), transparent 55%),
    radial-gradient(ellipse 70% 40% at 100% 18%, rgba(140,180,210,.22), transparent 52%);
}

.screen.in-house .homeBrand{
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.screen.in-house .homeBrand img{
  width: 36px; height: 36px; object-fit: contain;
}
.screen.in-house .homeBrand .hb-name{
  font-family: var(--font-ui);
  font-weight: 800;
  font-size: 13px;
  letter-spacing: .14em;
  color: var(--verso-navy);
}
.screen.in-house .homeBrand .hb-tag{
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .18em;
  color: var(--lmut);
  text-transform: uppercase;
}

.screen.in-house .homeTop .hi{
  font-size: 30px;
  color: var(--verso-navy-deep);
}
.screen.in-house .view-enter .homeTop .hi::after{
  background: var(--verso-navy);
  height: 3px;
  border-radius: 2px;
}

.screen.in-house .homeTop .hicons .hb{
  width: 36px; height: 36px;
  border-radius: 50%;
  background: rgba(255,255,255,.85);
  border: 1px solid var(--lborder);
  box-shadow: var(--verso-shadow);
}

.screen.in-house .searchBar{
  background: rgba(255,255,255,.88);
  border: 1px solid var(--lborder);
  border-radius: 999px;
  padding: 12px 16px;
  box-shadow: var(--verso-shadow);
  backdrop-filter: blur(10px);
  margin-bottom: 18px;
}
.screen.in-house .searchBar .si{
  display: inline-block;
  width: 14px; height: 14px;
  border: 1.6px solid var(--lmut);
  border-radius: 50%;
  position: relative;
  margin-right: 4px;
  flex: none;
}
.screen.in-house .searchBar .si::after{
  content: "";
  position: absolute;
  right: -4px; bottom: -3px;
  width: 6px; height: 1.6px;
  background: var(--lmut);
  transform: rotate(45deg);
}

.screen.in-house .catChip .cl{
  border-radius: 999px;
  padding: 7px 14px;
  background: rgba(255,255,255,.75);
  border-color: var(--lborder);
  box-shadow: 0 4px 14px -10px rgba(31,58,74,.2);
}
.screen.in-house .catChip.on .cl{
  background: var(--verso-navy);
  border-color: var(--verso-navy);
  color: #fff;
}

.screen.in-house .secHead .st{
  font-family: var(--font-greeting);
  font-size: 17px;
  font-weight: 700;
  color: var(--verso-navy-deep);
}
.screen.in-house .secHead .sx{ color: var(--verso-navy); font-weight: 600; }

.screen.in-house .recCard{ width: 148px; }
.screen.in-house .recCard .rc-thumb{
  width: 148px; height: 100px;
  border-radius: 20px;
  box-shadow: var(--verso-shadow);
  transform: rotate(-1.5deg);
  transition: transform .35s var(--verso-spring), box-shadow .35s;
}
.screen.in-house .recCard:nth-child(even) .rc-thumb{ transform: rotate(1.8deg); }
.screen.in-house .recCard:active .rc-thumb,
.screen.in-house .recCard:hover .rc-thumb{
  transform: rotate(0deg) scale(1.02);
}

.screen.in-house .hrCard{
  border-radius: var(--verso-radius);
  padding: 14px;
  background: rgba(255,255,255,.92);
  box-shadow: var(--verso-shadow);
  border-color: rgba(31,58,74,.08);
}
.screen.in-house .hrCard .hr-thumb{
  width: 92px; height: 92px;
  border-radius: 20px;
}
.screen.in-house .hrCard .hr-go{
  background: var(--verso-navy);
  box-shadow: 0 8px 18px -6px rgba(31,58,74,.45);
}
.screen.in-house .hrCard .hr-style{
  background: color-mix(in srgb, var(--verso-mist) 70%, #fff);
  color: var(--verso-navy);
}

.screen.in-house .homeFeedLink button{
  background: rgba(31,58,74,.08);
  border: 1px solid rgba(31,58,74,.22);
  color: var(--verso-navy);
  border-radius: 999px;
  padding: 10px 20px;
}

/* VERSO mascot peek */
.verso-mascot{
  position: absolute;
  z-index: 25;
  width: 64px; height: 64px;
  pointer-events: auto;
  cursor: pointer;
  filter: drop-shadow(0 10px 18px rgba(31,58,74,.22));
  transition: transform .45s var(--verso-spring);
}
.verso-mascot img{
  width: 100%; height: 100%;
  object-fit: contain;
  display: block;
}
.verso-mascot--home{
  /* 坐姿由 .homeSit 控制；此处关闭浮动 */
  animation: none !important;
}
.verso-mascot--rooms{
  /* 趴栏坐姿由 .roomsNavSit 控制 */
  animation: none !important;
}
.verso-mascot--todo{
  /* 坐姿由 #view-todo .todoSit 控制；此处关闭浮动 */
  animation: none !important;
}
.verso-mascot--room{
  right: 22px; bottom: 108px;
  width: 56px; height: 56px;
}
.verso-mascot.is-flip img{
  animation: versoFlipY .42s var(--verso-spring);
}
.verso-mascot.is-think{
  animation: versoThink 1.1s ease-in-out infinite;
}
.verso-mascot.is-save{
  animation: versoSavePop .5s var(--verso-spring);
}

@keyframes versoFloat{
  0%,100%{ transform: translateY(0); }
  50%{ transform: translateY(-5px); }
}
@keyframes versoFlipY{
  0%{ transform: rotateY(0) scale(1); }
  45%{ transform: rotateY(90deg) scale(.92); }
  100%{ transform: rotateY(0) scale(1); }
}
@keyframes versoThink{
  0%,100%{ transform: translateX(0) rotate(0); }
  50%{ transform: translateX(3px) rotate(4deg); }
}
@keyframes versoSavePop{
  0%{ transform: scale(1); }
  40%{ transform: scale(1.12); }
  100%{ transform: scale(1); }
}
@keyframes versoGreet{
  0%{ transform: translateY(6px) rotate(-2deg) scale(.96); opacity:.7; }
  45%{ transform: translateY(-3px) rotate(3deg) scale(1.03); opacity:1; }
  100%{ transform: translateY(0) rotate(0) scale(1); opacity:1; }
}
@keyframes versoSheetRise{
  from{ opacity:0; transform: translateY(10px); }
  to{ opacity:1; transform: translateY(0); }
}
@keyframes versoProgShine{
  0%{ background-position: 100% 0; }
  100%{ background-position: -100% 0; }
}

/* library / rooms list · Soft UI 页头 + 胶囊筛选 */
.screen.in-house .roomsWrap{
  padding:58px 20px 110px;
}
.screen.in-house .roomsBrand{
  text-align:center;
  margin:0 0 18px;
}
.screen.in-house .roomsBrand .rb-logo{
  font-family:var(--font-brand, "Noto Serif SC", "Georgia", serif);
  font-size:28px;font-weight:800;
  letter-spacing:.12em;
  color:#1a3350;
  line-height:1.1;
}
.screen.in-house .roomsBrand .rb-sub{
  margin-top:6px;
  font-family:var(--font-ui);
  font-size:11px;font-weight:600;
  letter-spacing:.18em;
  color:rgba(26,51,80,.55);
  text-transform:uppercase;
}
.screen.in-house .roomsWrap h2{
  font-family:var(--font-ui);
  color:#1a3350;
  font-size:20px;
  font-weight:700;
  letter-spacing:-0.01em;
  text-align:center;
  margin:0 0 8px;
  line-height:1.35;
}
.screen.in-house .roomsWrap .rh-sub{
  text-align:center;
  font-size:12.5px;
  line-height:1.55;
  color:rgba(26,51,80,.48);
  margin:0 auto 18px;
  max-width:20em;
}
.screen.in-house .libFilter{
  display:flex;gap:8px;
  overflow-x:auto;
  margin:0 0 16px;
  padding:2px 2px 6px;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  justify-content:flex-start;
}
.screen.in-house .libFilter::-webkit-scrollbar{display:none;}
.screen.in-house .libChip{
  flex:none;
  border-radius:999px;
  padding:8px 16px;
  font-size:13px;
  font-weight:500;
  color:rgba(26,51,80,.62);
  background:rgba(255,255,255,.78);
  border:1px solid rgba(26,51,80,.08);
  box-shadow:
    0 4px 12px -8px rgba(26,51,80,.18),
    inset 0 1px 0 rgba(255,255,255,.9);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  cursor:pointer;
  transition:background .18s ease, color .18s ease, box-shadow .18s ease, border-color .18s ease;
  white-space:nowrap;
}
.screen.in-house .libChip:active{transform:scale(.97);}
.screen.in-house .libChip.on{
  background:#1a3350;
  border-color:#1a3350;
  color:#fff;
  font-weight:600;
  box-shadow:0 6px 16px -8px rgba(26,51,80,.45);
}
.screen.in-house .lc-topic{
  max-width:118px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:rgba(26,51,80,.62);
  border:1px solid rgba(26,51,80,.10);
  border-radius:999px;
  padding:2px 7px;
  font-size:10.5px;
}
.screen.in-house #view-library{
  background: var(--verso-page-bg) !important;
  color: var(--ltext);
}
.screen.in-house #view-library .libHead{
  background: linear-gradient(180deg, rgba(242,244,247,.96) 70%, rgba(238,243,247,0));
}
.screen.in-house .libCard{
  border-radius:var(--verso-radius);
  background:rgba(255,255,255,.94);
  box-shadow:var(--verso-shadow);
  border-color:rgba(31,58,74,.08);
}
.screen.in-house .libCard .lc-cat{ color: var(--verso-navy); }
.screen.in-house .libCard .lc-ttl{
  font-family: var(--font-ui) !important;
  font-weight: 800;
  letter-spacing: -.02em;
  color: var(--verso-navy-deep);
}
.screen.in-house .libCard .lc-thumb{
  border-radius: 18px;
  background: linear-gradient(160deg, #c5d6e4, #3d5570);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35);
}
.screen.in-house .libCard .lc-diff.pro{
  background: #e8eef4;
  color: #3d5570;
}
.screen.in-house .libCard .lc-diff{
  white-space: nowrap;
  flex-shrink: 0;
  display: inline-block;
  line-height: 1.35;
}
.screen.in-house .libCard .lc-rate{
  color: var(--verso-navy);
}

/* 藏书阁卡片 · 左滑删除（删除层默认隐藏，面板不透明，避免红边透出） */
.screen.in-house .libCard{
  padding: 0;
  overflow: hidden;
  cursor: default;
  background: transparent;
  border: none;
  box-shadow: none;
}
.screen.in-house .libSwipe{
  position: relative;
  width: 100%;
  border-radius: inherit;
  overflow: hidden;
  isolation: isolate;
  touch-action: pan-y;
  background: transparent;
}
.screen.in-house .libDel{
  position: absolute;
  inset: 0 0 0 auto;
  width: 76px;
  border: none;
  background: #c43c3c;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity .12s ease;
}
.screen.in-house .libSwipe.is-dragging .libDel,
.screen.in-house .libSwipe.is-open .libDel{
  opacity: 1;
  pointer-events: auto;
}
.screen.in-house .libPanel{
  position: relative;
  z-index: 1;
  display: flex;
  gap: 13px;
  padding: 13px;
  background: #ffffff;
  border: 1px solid rgba(31,58,74,.08);
  border-radius: inherit;
  box-shadow: var(--verso-shadow);
  cursor: pointer;
  will-change: transform;
  transition: transform .28s var(--verso-ease-spring);
  touch-action: pan-y;
}
.screen.in-house .libSwipe.is-dragging .libPanel{
  transition: none;
}
.screen.in-house .libSwipe.is-open .libPanel{
  transform: translateX(-76px);
}

/* room chrome — Figma VERSO header */
.screen.in-house .roomHead .rback,
.screen.in-house .roomHead .switch-room{
  border-radius: 50%;
  width: 40px; height: 40px;
  background: rgba(255,255,255,.92);
  box-shadow: var(--verso-shadow);
}
.screen.in-house .roomHead .rl{ text-align:center; }
.screen.in-house .roomHead .rl .eyebrow{
  display:block !important;
  font-family: var(--font-ui);
  font-size: 16px;
  font-weight: 800;
  letter-spacing: .12em;
  color: #1a3350;
  text-transform: none;
}
.screen.in-house .roomHead .rl .rn{
  font-family: var(--font-ui);
  font-size: 13px;
  font-weight: 600;
  color: #5a6580;
  margin-top: 2px;
}
.screen.in-house #view-room .scene-shell{
  border-radius: 28px;
  box-shadow: var(--verso-shadow);
  overflow: hidden;
}
.screen.in-house #view-room .scene-hint{
  color: #5a6580;
  font-weight: 500;
}
.screen.in-house .prop-marker{
  border-color: var(--verso-navy);
}
.screen.in-house .prop-marker::after{ background: var(--verso-navy); }

/* todo / me */
.screen.in-house .todoWrap h2{
  font-family: var(--font-greeting);
  color: var(--verso-navy-deep);
}
.screen.in-house .todoItem{
  border-radius: 18px;
  background: rgba(255,255,255,.92);
  box-shadow: var(--verso-shadow);
  border: 1px solid rgba(31,58,74,.08);
}
.screen.in-house .todoItem.done .tk{
  background: var(--verso-navy);
  border-color: var(--verso-navy);
}

/* ---- 我 · Soft UI（对齐 Figma：白底+右上淡蓝、双列表、统计副文案） ---- */
.screen.in-house #view-me{
  background: #ffffff;
}
.screen.in-house .meWrap{
  padding: 72px 16px 120px; /* 整体下移，给右上 IP 留头顶 */
  position: relative;
  z-index: 1;
  min-height: 100%;
  box-sizing: border-box;
  background: transparent;
}
/* 深蓝探头 IP：在右侧偏上；文案落在它正下方 */
.screen.in-house .meWrap::before{
  content: "";
  position: absolute;
  top: 54px;
  right: 6px;
  width: 86px;
  height: 76px;
  background:
    url("../assets/me/peek_blob.png?v=blob1") center bottom / contain no-repeat;
  opacity: 1;
  pointer-events: none;
  z-index: 3;
  filter: drop-shadow(0 8px 16px rgba(26,51,80,.16));
}
.screen.in-house .meProfile{
  display: flex;
  align-items: flex-end;
  gap: 14px;
  margin-bottom: 22px;
  padding-right: 0;
  position: relative;
  z-index: 1;
  min-height: 128px;
}
.screen.in-house .meProfile .ava{
  width: 112px;
  height: 112px;
  border-radius: 30px;
  overflow: hidden;
  background: #ffffff;
  box-shadow:
    0 14px 32px -16px rgba(26,51,80,.28),
    0 0 0 4px #ffffff,
    0 0 0 5px rgba(26,51,80,.06);
  border: none;
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 2px;
}
.screen.in-house .meProfile .ava img{
  width: 98%;
  height: 98%;
  object-fit: contain;
  object-position: center center;
  display: block;
  transform: none;
}
.screen.in-house .meIdentity{
  min-width: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  /* 文案在右侧深蓝 IP 下方，略向左靠 */
  padding-top: 58px;
  padding-right: 12px;
  margin-left: 4px;
  max-width: none;
}
.screen.in-house .meNameRow{
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap; /* ME 始终在「VERSO用户」同一行旁边 */
}
.screen.in-house .meProfile .mn{
  font-family: var(--font-ui);
  font-size: 22px;
  font-weight: 800;
  color: #1a2b48;
  letter-spacing: -0.02em;
  line-height: 1.15;
  white-space: nowrap;
}
.screen.in-house .meBadge{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 3px 9px;
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid rgba(122, 168, 220, .55);
  color: #5a8ec4;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  flex: none;
}
.screen.in-house .meProfile .mt{
  margin-top: 6px;
  font-size: 13px;
  font-weight: 500;
  color: #7a93b0;
  letter-spacing: .04em;
}

.screen.in-house .meStats{
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 8px;
  margin-bottom: 16px;
  position: relative;
  z-index: 1;
}
.screen.in-house .meStat{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  background: #f7f9fc;
  border: 1px solid rgba(255,255,255,.98);
  border-radius: 20px;
  padding: 14px 8px 12px;
  box-shadow:
    0 10px 26px -16px rgba(26,51,80,.16),
    inset 0 1px 0 rgba(255,255,255,1);
  text-align: center;
  min-width: 0;
}
.screen.in-house .meStat-ic{
  width: 42px;
  height: 42px;
  object-fit: contain;
  display: block;
  flex: none;
  margin: 0 0 2px;
  filter: drop-shadow(0 5px 10px rgba(93,134,209,.28));
}
.screen.in-house .meStat-tx{
  width: 100%;
  min-width: 0;
  text-align: center;
}
.screen.in-house .meStat .num{
  font-family: var(--font-ui);
  font-size: 22px;
  font-weight: 800;
  color: #1a2b4d;
  line-height: 1.05;
  font-variant-numeric: tabular-nums;
}
.screen.in-house .meStat .lbl{
  margin-top: 2px;
  font-size: 11px;
  font-weight: 600;
  color: #586a85;
  letter-spacing: -0.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.screen.in-house .meStat .sub{
  margin-top: 2px;
  font-size: 9px;
  font-weight: 500;
  line-height: 1.25;
  color: #8a9db1;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.screen.in-house .meList{
  display: flex;
  flex-direction: column;
  gap: 0;
  background: #ffffff;
  border: none;
  border-radius: 24px;
  overflow: hidden;
  box-shadow:
    0 12px 32px -18px rgba(26,51,80,.18),
    0 2px 8px -4px rgba(26,51,80,.06);
  padding: 6px 0;
  position: relative;
  z-index: 1;
}
.screen.in-house .meList--secondary{
  margin-top: 12px;
  background: #ffffff;
  border: none;
  box-shadow:
    0 12px 32px -18px rgba(26,51,80,.18),
    0 2px 8px -4px rgba(26,51,80,.06);
}
.screen.in-house .meList--secondary .meRow .mi{
  background: #1a2d42;
  box-shadow:
    0 4px 12px -3px rgba(26,45,66,.36),
    0 1px 3px rgba(26,45,66,.1);
}
.screen.in-house .meList--secondary .meRow-tx{
  color: #1a202c;
}
.screen.in-house .meList--secondary .meRow + .meRow::after{
  background: rgba(26,51,80,.06);
}
.screen.in-house .meList--secondary .meRow-meta{
  color: #a0aec0;
  font-size: 12.5px;
  font-weight: 500;
  letter-spacing: .02em;
}
.screen.in-house .meList--secondary .meRow .mg{
  color: #c5ced8;
}
.screen.in-house .meRow{
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0;
  padding: 16px 18px;
  border-radius: 0;
  background: transparent;
  border: none;
  border-bottom: none;
  box-shadow: none;
  cursor: pointer;
  transition: background .15s ease;
  color: #2c3e50;
  font-size: 14px;
  font-weight: 600;
  position: relative;
}
.screen.in-house .meRow + .meRow{
  border-top: none;
}
.screen.in-house .meRow + .meRow::after{
  content: "";
  position: absolute;
  left: 62px;
  right: 18px;
  top: 0;
  height: 1px;
  background: rgba(26,51,80,.07);
  pointer-events: none;
}
.screen.in-house .meRow:active{
  background: rgba(26,51,80,.03);
}
.screen.in-house .meRow .mi{
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #1a2d42;
  color: #fff;
  flex: none;
  font-size: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow:
    0 4px 12px -3px rgba(26,45,66,.4),
    0 1px 3px rgba(26,45,66,.12);
}
.screen.in-house .meRow .mi::before{ content: none; display: none; }
.screen.in-house .meRow .mi svg{
  width: 15px;
  height: 15px;
  display: block;
}
.screen.in-house .meRow-tx{
  flex: 1;
  min-width: 0;
  font-size: 14px;
  font-weight: 600;
  color: #2c3e50;
  letter-spacing: -0.01em;
}
.screen.in-house .meRow-meta{
  flex: none;
  font-size: 12px;
  font-weight: 500;
  color: #a0aec0;
  margin-right: 4px;
}
.screen.in-house .meRow .mg{
  margin-left: 0;
  color: #c5ced8;
  font-size: 17px;
  font-weight: 400;
  flex: none;
  line-height: 1;
}

/* floating glass botnav (in-house) — polished capsule; details consolidated below */
.screen.in-house .botnav:not(.douyin){
  left: 14px; right: 14px; bottom: 14px;
  height: 58px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.88);
  background: rgba(255,255,255,.82);
  backdrop-filter: blur(22px) saturate(1.15);
  -webkit-backdrop-filter: blur(22px) saturate(1.15);
  box-shadow:
    0 10px 28px -10px rgba(26,51,80,.2),
    0 2px 8px -4px rgba(26,51,80,.08),
    inset 0 1px 0 rgba(255,255,255,.95);
  padding: 8px 6px 10px;
  z-index: 90;
}
.screen.in-house .botnav:not(.douyin) .nav.on{ color: #1a3350; }
.screen.in-house .botnav:not(.douyin) .nav.on .nl{ font-weight: 700; }
.screen.in-house .botnav:not(.douyin) .nav.plus .ni{
  width: 52px; height: 52px;
  border-radius: 50%;
  background: #1a3350;
  color: #fff;
  box-shadow: 0 10px 22px -6px rgba(26,51,80,.5);
}
.screen.in-house .botnav:not(.douyin) .nav.plus.on .ni,
.screen.in-house .botnav:not(.douyin) .nav.nav-bump .ni{
  animation: navBump .45s var(--verso-spring);
}
@keyframes navBump{
  0%,100%{ transform: scale(1); }
  40%{ transform: scale(1.14); }
}

/* parse sheet VERSO */
.screen.in-house .parseSheet,
.parseSheet.verso-skin{
  background: linear-gradient(180deg, #ffffff 0%, var(--verso-mist) 100%);
  color: var(--verso-navy-deep);
  border-radius: 32px 32px 0 0;
  box-shadow: 0 -20px 50px -12px rgba(31,58,74,.28);
}
.parseSheet.verso-skin .grip2{ background: rgba(31,58,74,.18); }
.parseSheet.verso-skin h3{ color: var(--verso-navy-deep); }
.parseSheet.verso-skin .psub{ color: var(--lmut); }
.parseSheet.verso-skin .parseIn input{
  background: #fff;
  border: 1px solid rgba(31,58,74,.14);
  color: var(--verso-navy-deep);
  border-radius: 999px;
}
.parseSheet.verso-skin .parseIn button{
  background: var(--verso-navy);
  color: #fff;
  border-radius: 999px;
  font-family: var(--font-ui);
}
.parseSheet.verso-skin .parseChips .pc{
  background: rgba(31,58,74,.06);
  color: var(--verso-navy);
  border-radius: 999px;
}
.parseSheet.verso-skin .parseProg .pbar{ background: rgba(31,58,74,.08); }
.parseSheet.verso-skin .parseProg .pbar>i{
  background: linear-gradient(90deg, #3d6a82, var(--verso-navy));
}
.parseSheet.verso-skin .parseProg .pmsg{ color: var(--lmut); }
.parseSheet .parse-ip{
  width: 52px; height: 52px;
  object-fit: contain;
  flex: none;
  filter: drop-shadow(0 6px 12px rgba(31,58,74,.2));
}
.parse-ip.is-think{ animation: versoThink 1.1s ease-in-out infinite; }
.parse-ip.is-save{ animation: versoSavePop .5s var(--verso-spring); }
.parseSheet .ph-row{
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

/* knowledge card sheet */
.screen.in-house .sheet,
.sheet.verso-skin{
  background: #fff;
  color: var(--verso-navy-deep);
  border-radius: 28px 28px 0 0;
}
.sheet.verso-skin .wpActions .save{
  background: transparent;
  color: var(--verso-navy);
  border: 1.5px solid var(--verso-navy);
  border-radius: 999px;
}
.sheet.verso-skin .wpActions .save.done{
  background: #e8f3ea;
  border-color: transparent;
  color: #2f8a4d;
}
.sheet.verso-skin .wpActions .place{
  background: var(--verso-navy);
  color: #fff;
  border-radius: 999px;
}
.sheet.verso-skin .wpBody h4::before{ background: var(--verso-navy); }
.sheet.verso-skin .step .sn{ color: var(--verso-navy); }
.sheet.verso-skin .wpFire{
  background: color-mix(in srgb, var(--verso-mist) 80%, #fff);
  border-radius: 20px;
}
.sheet.verso-skin .wpAsk{
  background: linear-gradient(135deg, #f3f7fa, #eef3f6);
  border: 1px dashed rgba(31,58,74,.25);
}

.roomSheet{
  border-radius: 28px 28px 0 0;
}
.roomSheet .rs-item.on{
  background: rgba(31,58,74,.08);
}
.roomSheet .rs-item.on .rs-n{ color: var(--verso-navy); }

/* 物件知识卡列表 · Cold Luxury */
.furnSheet.verso-skin,
.screen.in-house .furnSheet{
  background: #fff;
  color: var(--verso-navy-deep);
  border-radius: 28px 28px 0 0;
}
.furnSheet .furnEyebrow{ color: var(--verso-navy); letter-spacing: .12em; }
.furnSheet .furnHead h3{ color: var(--verso-navy-deep); }
.furnSheet .furnSub{ color: #5a6570; }
.furnSheet .furnHead{ border-bottom-color: rgba(31,58,74,.1); }
.furnSheet .sclose{
  background: color-mix(in srgb, var(--verso-mist) 55%, #fff);
  color: var(--verso-navy);
}
.furnSheet .furnCard{
  border-color: rgba(31,58,74,.1);
  background: #fff;
  box-shadow: 0 8px 22px -14px rgba(31,58,74,.28);
  border-radius: 18px;
}
.furnSheet .furnCard:hover{
  box-shadow: 0 14px 28px -14px rgba(31,58,74,.32);
}
.furnSheet .fc-cat{ color: var(--verso-navy); }
.furnSheet .fc-ttl{ color: var(--verso-navy-deep); }
.furnSheet .fc-diff.pro{
  background: color-mix(in srgb, var(--verso-mist) 80%, #fff);
  color: var(--verso-navy);
}
.furnSheet .fc-chev{ color: rgba(31,58,74,.35); }

/* view enter spring */
.screen.in-house .view-enter .homeWrap,
.screen.in-house .view-enter .roomsWrap,
.screen.in-house .view-enter .todoWrap,
.screen.in-house .view-enter .meWrap{
  animation: versoPageIn .48s var(--verso-spring);
}
@keyframes versoPageIn{
  from{ opacity: 0; transform: translateX(10%) translateY(4px); }
  to{ opacity: 1; transform: none; }
}

/* save fly clone */
.save-fly{
  position: fixed;
  z-index: 400;
  width: 48px; height: 48px;
  border-radius: 14px;
  overflow: hidden;
  pointer-events: none;
  box-shadow: var(--verso-shadow);
  transition: transform .55s var(--verso-spring), opacity .55s ease;
  object-fit: cover;
}

.screen.in-house .inspoWrap h2{
  font-family: var(--font-ui);
  color: #1a3350;
  font-size: 26px;
  font-weight: 800;
  letter-spacing: -0.02em;
  margin: 0 0 8px;
}
.screen.in-house .inspoWrap{
  padding: 82px 18px 150px;
  min-height: 100%;
  box-sizing: border-box;
  background: transparent;
}
.screen.in-house .inspoSub{
  font-size: 13px;
  line-height: 1.55;
  color: rgba(26,51,80,.5);
  margin: 0 0 16px;
  max-width: 34em;
}
.screen.in-house .inspoSub b{
  color: #1a3350;
  font-weight: 700;
}
.screen.in-house .inspoFilters{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding:0 0 14px;
  scrollbar-width:none;
}
.screen.in-house .inspoFilters::-webkit-scrollbar{display:none}
.screen.in-house .inspoSort{
  display:flex;
  gap:7px;
  margin:-4px 0 14px;
}
.screen.in-house .inspoSortButton{
  border:1px solid rgba(26,51,80,.12);
  border-radius:999px;
  padding:6px 10px;
  background:rgba(255,255,255,.72);
  color:#53697b;
  font:650 11px var(--font-ui);
  cursor:pointer;
}
.screen.in-house .inspoSortButton.is-active{
  border-color:rgba(26,51,80,.72);
  background:rgba(26,51,80,.1);
  color:#1a3350;
}
.screen.in-house .inspoFilter{
  flex:none;
  border:1px solid rgba(26,51,80,.12);
  border-radius:999px;
  padding:7px 12px;
  background:rgba(255,255,255,.7);
  color:#53697b;
  font:600 12px var(--font-ui);
  cursor:pointer;
}
.screen.in-house .inspoFilter.is-active{
  border-color:#1a3350;
  background:#1a3350;
  color:#fff;
}
.screen.in-house .inspoGroupTitle{
  margin:18px 0 8px;
  color:#1a3350;
  font-size:13px;
  font-weight:750;
}
.screen.in-house .inspoGroupTitle:first-child{margin-top:0}
.utilityHero{background:linear-gradient(150deg,#2f5168,#1a3350)!important}
.utilityBody{padding-bottom:34px}
.utilityRows{display:grid;gap:10px}
.utilityRows>div,.utilityRows label{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border-radius:14px;background:rgba(226,238,247,.7);color:#1a3350}
.utilityRows b{font-size:13px}.utilityRows span{font-size:11px;line-height:1.45;color:#60758a;flex:1}
.utilityRows input{accent-color:#1a3350;flex:none}
.utilityFeedback{box-sizing:border-box;width:100%;min-height:92px;margin-top:14px;padding:12px;border:1px solid rgba(26,51,80,.14);border-radius:14px;resize:vertical;font:13px/1.5 var(--font-ui);color:#1a3350}
.utilitySend{width:100%;margin-top:10px;padding:12px;border:0;border-radius:14px;background:#1a3350;color:#fff;font:700 13px var(--font-ui);cursor:pointer}
/* Soft UI 组件框：对齐「我」页 meList 卡片 */
.screen.in-house .inspoToolbarCard{
  background: #ffffff;
  border-radius: 24px;
  box-shadow:
    0 12px 32px -18px rgba(26,51,80,.18),
    0 2px 8px -4px rgba(26,51,80,.06);
  padding: 14px 16px;
  margin-bottom: 14px;
}
.screen.in-house .inspoToolbar{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin: 0;
}
.screen.in-house #inspoSelCount{
  font-size: 13px;
  font-weight: 600;
  color: #1a3350;
  letter-spacing: -.01em;
}
.screen.in-house .inspoGen{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background: rgba(26,51,80,.18);
  color: rgba(255,255,255,.92);
  border-radius: 999px;
  border: none;
  padding: 10px 16px;
  font-size: 13px;
  font-weight: 600;
  box-shadow: none;
  transition:
    color var(--verso-dur-ui) var(--verso-ease-soft),
    transform var(--verso-dur-press) var(--verso-ease-soft),
    box-shadow var(--verso-dur-ui) var(--verso-ease-soft);
  flex: none;
}
.screen.in-house .inspoGen::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  border-radius:inherit;
  background:linear-gradient(160deg,#2f5168,#1a3350 58%,#122636);
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .48s var(--verso-ease-spring);
}
.screen.in-house .inspoGen.is-armed{
  color:#fff;
  box-shadow: 0 8px 18px -10px rgba(26,51,80,.5);
}
.screen.in-house .inspoGen.is-armed::before{
  transform:scaleX(1);
}
.screen.in-house .inspoGen:disabled{
  background: rgba(26,51,80,.18);
  color: rgba(255,255,255,.9);
  box-shadow: none;
  opacity: 1;
  cursor: not-allowed;
}
.screen.in-house .inspoGen:not(:disabled):active{
  transform: scale(.97);
}
.screen.in-house .inspoPreflight{
  margin-top:10px;padding:9px 11px;border-radius:12px;
  background:rgba(255,255,255,.64);border:1px solid rgba(26,51,80,.08);
  color:#53697b;font-size:11px;line-height:1.55;
}
.screen.in-house .inspoPreflight[hidden]{display:none}
.meshFailureReason{
  padding:12px;border-radius:14px;background:rgba(120,185,216,.12);
  border:1px solid rgba(26,51,80,.1);color:#1a3350;
}
.meshFailureReason b{display:block;font-size:12px;margin-bottom:5px}
.meshFailureReason p{margin:0;color:#53697b;font-size:12px;line-height:1.55}
.screen.in-house .inspoCard.on .inspoCheck.is-pop{
  animation: versoCheckPop .38s var(--verso-ease-spring);
}
/* 灵感卡片 · 对齐设计稿：勾选在左 + 白底面板 / 大封面 / 时间轴 / 来源徽章 */
.screen.in-house .inspoCard{
  display: flex;
  gap: 10px;
  align-items: center;
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
  margin-bottom: 12px;
  min-height: 0;
  border-radius: 0;
  transition: none;
}
.screen.in-house .inspoCard.on{
  background: transparent;
  box-shadow: none;
}
.screen.in-house .inspoCheck{
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 1.5px solid rgba(26,51,80,.28);
  background: transparent;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  flex: none;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .18s ease, border-color .18s ease, transform .18s var(--verso-ease-spring);
}
.screen.in-house .inspoCard.on .inspoCheck{
  background: #1a3350;
  border-color: #1a3350;
}
.screen.in-house .inspoPanel{
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 10px 12px 12px;
  border-radius: 22px;
  background: #ffffff;
  box-shadow:
    0 10px 28px -16px rgba(26,51,80,.2),
    0 2px 8px -4px rgba(26,51,80,.05);
  transition: box-shadow .18s ease;
}
.screen.in-house .inspoCard.on .inspoPanel{
  box-shadow:
    0 12px 28px -14px rgba(26,51,80,.26),
    0 0 0 1.5px rgba(26,51,80,.12);
}
.screen.in-house .inspoThumb{
  position: relative;
  width: 72px;
  height: 54px;
  border-radius: 12px;
  flex: none;
  overflow: hidden;
  background: #dfe5ec;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 800;
  color: #fff;
  box-shadow: inset 0 0 0 1px rgba(26,51,80,.06);
}
.screen.in-house .inspoThumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.screen.in-house .inspoThumb span:not(.inspoDur){
  position: relative;
  z-index: 1;
}
.screen.in-house .inspoDur{
  position: absolute;
  right: 4px;
  bottom: 4px;
  z-index: 2;
  padding: 2px 5px;
  border-radius: 5px;
  background: rgba(12,18,28,.72);
  color: #fff;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .01em;
  line-height: 1.2;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.screen.in-house .inspoBody{
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
}
.screen.in-house .inspoTitle{
  flex: none;
  width: 100%;
  min-width: 0;
  font-size: 13.5px;
  font-weight: 700;
  color: #1a2430;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.screen.in-house .inspoRange{
  display: block;
  font-size: 11px;
  font-weight: 500;
  color: rgba(26,51,80,.45);
  line-height: 1.3;
  letter-spacing: .01em;
}
.screen.in-house .inspoMeta,
.screen.in-house .inspoNote{
  display: none;
}
.screen.in-house .inspoPlat{
  display: inline-flex;
  align-items: center;
  gap: 5px;
  flex: none;
  max-width: 100%;
  margin-top: 2px;
  padding: 3px 8px 3px 4px;
  border-radius: 999px;
  background: #fff;
  color: rgba(26,51,80,.55);
  font-size: 10px;
  font-weight: 600;
  white-space: nowrap;
  border: 1px solid rgba(26,51,80,.12);
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
}
.screen.in-house .inspoPlat span{
  overflow: hidden;
  text-overflow: ellipsis;
}
.screen.in-house .inspoPlatLogo{
  width: 16px;
  height: 16px;
  border-radius: 4px;
  object-fit: cover;
  flex: none;
}
.screen.in-house .inspoMore{
  flex: none;
  align-self: center;
  width: 32px;
  height: 38px;
  border: none;
  background: transparent;
  color: rgba(26,51,80,.68);
  font-size: 24px;
  font-weight: 700;
  line-height: .75;
  cursor: pointer;
  border-radius: 10px;
  padding: 0;
}
.screen.in-house .inspoMore:hover{
  color: rgba(26,51,80,.55);
  background: transparent;
}
.screen.in-house .inspoCard.is-expanded .inspoMore{
  color: #1a3350;
  background: transparent;
}
/* Swipe row · delete behind panel */
.screen.in-house .inspoSwipe{
  position: relative;
  flex: 1;
  min-width: 0;
  border-radius: 22px;
  overflow: hidden;
  touch-action: pan-y;
}
.screen.in-house .inspoDel{
  position: absolute;
  inset: 0 0 0 auto;
  width: 76px;
  border: none;
  border-radius: 0;
  background: #c43c3c;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 0;
}
.screen.in-house .inspoSwipe .inspoPanel{
  position: relative;
  z-index: 1;
  width: 100%;
  will-change: transform;
  transition: transform .28s var(--verso-ease-spring);
  touch-action: pan-y;
}
.screen.in-house .inspoSwipe.is-dragging .inspoPanel{
  transition: none;
}
.screen.in-house .inspoSwipe.is-open .inspoPanel{
  transform: translateX(-76px);
}

/* Inline summary under the card */
.screen.in-house .inspoCard{
  flex-wrap: wrap;
  align-items: flex-start;
}
.screen.in-house .inspoRow{
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
}
.screen.in-house .inspoExpand{
  width: 100%;
  margin: 0 0 0 32px;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  transition:
    max-height .38s var(--verso-ease-spring),
    opacity .28s var(--verso-ease-soft),
    margin .28s var(--verso-ease-soft);
}
.screen.in-house .inspoCard.is-expanded .inspoExpand{
  max-height: 330px;
  opacity: 1;
  margin: 8px 0 2px 32px;
  pointer-events: auto;
}
.screen.in-house .inspoExpandInner{
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(26,51,80,.08);
  box-shadow: 0 8px 20px -14px rgba(26,51,80,.18);
}
.screen.in-house .inspoExpand .issLab{
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  color: rgba(26,51,80,.42);
  margin-bottom: 4px;
}
.screen.in-house .inspoExpand .issBlock + .issBlock{
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(26,51,80,.06);
}
.screen.in-house .inspoExpand p{
  margin: 0;
  font-size: 12.5px;
  line-height: 1.55;
  color: #1a3350;
  font-weight: 500;
  white-space: pre-line;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
.screen.in-house .inspoExpand .issBlock[hidden]{ display: none; }
.screen.in-house .inspoCategoryBlock{
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(26,51,80,.06);
}
.screen.in-house .inspoCategoryChoices{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.screen.in-house .inspoCategoryChoice{
  border:1px solid rgba(26,51,80,.12);
  border-radius:999px;
  padding:5px 8px;
  background:rgba(255,255,255,.72);
  color:rgba(26,51,80,.68);
  font:inherit;
  font-size:11px;
  font-weight:650;
  line-height:1.1;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.screen.in-house .inspoCategoryChoice.is-active{
  background:#1a3350;
  border-color:#1a3350;
  color:#fff;
}
.screen.in-house .inspoCategoryChoice:focus-visible{
  outline:2px solid rgba(72,132,182,.55);
  outline-offset:2px;
}
.screen.in-house .inspoGuidanceAction + .inspoGuidanceAction{
  margin-top:8px;
}
.screen.in-house .inspoGuidanceAction p{
  margin-top:4px;
  color:rgba(26,51,80,.62);
  font-size:11.5px;
}
.screen.in-house .inspoEmpty{
  text-align: center;
  padding: 48px 16px;
  color: rgba(26,51,80,.42);
  font-size: 13px;
  line-height: 1.6;
  background: rgba(255,255,255,.55);
  border-radius: 22px;
  border: 1px dashed rgba(26,51,80,.12);
}

@media (prefers-reduced-motion: reduce){
  .rail-ip,
  .verso-mascot,
  .verso-mascot--home,
  .verso-mascot--rooms,
  .verso-mascot--inspo,
  .verso-mascot--todo{ animation: none !important; }
  .screen.in-house .view-enter .homeWrap,
  .screen.in-house .view-enter .roomsWrap,
  .screen.in-house .view-enter .todoWrap,
  .screen.in-house .view-enter .meWrap{ animation: none; }
  .verso-mascot.is-flip img,
  .verso-mascot.is-think,
  .verso-mascot.is-save,
  .parse-ip.is-think,
  .parse-ip.is-save{ animation: none !important; }
}

/* ============================================================
   HOME only · iPhone 13 Pro screen (phone 390×844, content fit)
   ============================================================ */
.screen.in-house #view-home .homeAura{display:none;}
.screen.in-house #view-home .homeWrap{
  padding:54px 18px 140px;
  max-width:100%;
  box-sizing:border-box;
}

/* —— 头部对标设计稿：品牌 / 问候 / 搜索 —— */
.screen.in-house #view-home .homeBrandRow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:14px;
}
.screen.in-house #view-home .homeBrand{
  display:flex;
  align-items:center;
  gap:11px;
  margin-bottom:0;
}
.screen.in-house #view-home .homeBrand img{display:none;}
/* VERSO + 双书签 ≈ 与「晚上好」同级体量 */
.screen.in-house #view-home .hb-name{
  font-family:var(--font-ui);
  font-size:28px;
  font-weight:800;
  letter-spacing:.06em;
  color:#1a3350;
  line-height:1;
}
/* 双书签：奶油 + 海军蓝叠放 · 随品牌放大 */
.screen.in-house #view-home .hb-mark{
  position:relative;
  width:28px;
  height:30px;
  flex:none;
  background:none;
  box-shadow:none;
  border-radius:0;
}
.screen.in-house #view-home .hb-mark::after{display:none;}
.screen.in-house #view-home .hb-mark-a,
.screen.in-house #view-home .hb-mark-b{
  position:absolute;
  width:16px;
  height:26px;
  border-radius:3px 3px 1.5px 1.5px;
  display:block;
  font-style:normal;
}
.screen.in-house #view-home .hb-mark-a{
  left:0;top:3px;
  background:#e8dfd0;
  box-shadow:0 2px 6px rgba(26,51,80,.14);
  clip-path:polygon(0 0,100% 0,100% 100%,50% 82%,0 100%);
}
.screen.in-house #view-home .hb-mark-b{
  right:0;top:0;
  background:#1a3350;
  clip-path:polygon(0 0,100% 0,100% 100%,50% 82%,0 100%);
}
/* 右上角个人入口 · Soft UI 白底圆钮 */
.screen.in-house #view-home .homeProfile{
  width:40px;height:40px;
  border-radius:50%;
  border:1.5px solid rgba(26,51,80,.1);
  background:#ffffff;
  box-shadow:
    0 6px 16px -8px rgba(26,51,80,.2),
    0 1px 0 rgba(255,255,255,.95) inset;
  cursor:pointer;
  position:relative;
  flex:none;
}
.screen.in-house #view-home .homeProfile::before{
  content:"";
  position:absolute;
  left:50%;top:10px;
  width:11px;height:11px;
  margin-left:-5.5px;
  border-radius:50%;
  border:1.7px solid #1a3350;
  background:transparent;
  opacity:.72;
}
.screen.in-house #view-home .homeProfile::after{
  content:"";
  position:absolute;
  left:50%;bottom:8px;
  width:17px;height:9px;
  margin-left:-8.5px;
  border:1.7px solid #1a3350;
  border-top:none;
  border-radius:0 0 11px 11px;
  background:transparent;
  opacity:.72;
}

.screen.in-house #view-home .homeTop{
  margin-bottom:14px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
}
.screen.in-house #view-home .hiRow{
  display:flex;
  align-items:flex-start;
  gap:8px;
}
.screen.in-house #view-home .hi{
  font-family:var(--font-greeting);
  font-size:32px;
  font-weight:700;
  letter-spacing:-.02em;
  line-height:1.2;
  color:#1a3350;
  margin:0;
}
.screen.in-house #view-home .hi::after{display:none;content:none;}
.screen.in-house #view-home .view-enter .homeTop .hi::after{
  display:none;content:none;animation:none;
}
.screen.in-house #view-home .hiSpark{
  display:inline-block;
  margin-top:4px;
  font-size:14px;
  line-height:1;
  color:#1a3350;
  opacity:.9;
}
.screen.in-house #view-home .homeTagline{
  margin-top:6px;
  font-family:var(--font-ui);
  font-size:13px;
  font-weight:600;
  letter-spacing:.14em;
  color:#1a3350;
  text-transform:none;
  opacity:.72;
}

/* 搜索框 · Soft UI 白胶囊胶囊 */
.screen.in-house #view-home .searchBar{
  display:flex;
  align-items:center;
  gap:12px;
  background:#ffffff;
  border:1px solid rgba(26,51,80,.1);
  border-radius:999px;
  padding:14px 18px;
  margin-bottom:14px;
  box-shadow:
    0 8px 22px -12px rgba(26,51,80,.18),
    0 1px 0 rgba(255,255,255,.9) inset;
  color:rgba(26,51,80,.38);
  font-size:14px;
  font-weight:500;
  cursor:pointer;
}
.screen.in-house #view-home .searchBar .searchPh{
  flex:1;
  min-width:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  color:rgba(26,51,80,.38);
  line-height:1.2;
}
.screen.in-house #view-home .searchBar .si{
  display:inline-block !important;
  width:16px;height:16px;
  border:2px solid #1a3350;
  border-radius:50%;
  position:relative;
  flex:none;
  opacity:.55;
  box-sizing:border-box;
  font-size:0;
}
.screen.in-house #view-home .searchBar .si::after{
  content:"";
  position:absolute;
  right:-5px;bottom:-3px;
  width:7px;height:2px;
  background:#1a3350;
  transform:rotate(45deg);
  border-radius:1px;
}
.screen.in-house #view-home .searchBar:active{
  transform:scale(.995);
  border-color:rgba(26,51,80,.16);
}
.screen.in-house #view-home .homeCats{
  gap:8px;margin-bottom:18px;padding-bottom:2px;
}
.screen.in-house #view-home .catChip{
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  font:inherit;
}
.screen.in-house #view-home .catChip .cl{
  font-size:12.5px;padding:7px 14px;border-radius:999px;
  background:#fff;border:1px solid rgba(26,51,80,.08);
  color:#6a7580;box-shadow:0 2px 8px -6px rgba(26,51,80,.2);
}
.screen.in-house #view-home .catChip.on .cl{
  background:#1a3350;border-color:#1a3350;color:#fff;
}
.screen.in-house #view-home .secHead{
  margin:2px 2px 10px;align-items:baseline;
}
.screen.in-house #view-home .secHead .st{
  font-family:var(--font-ui);font-size:16px;font-weight:700;color:#122033;
}
.screen.in-house #view-home .secHead .sx{
  border:0;background:transparent;padding:0;font:inherit;font-size:12px;font-weight:500;color:#8b95a1;cursor:pointer;
}
.screen.in-house #view-home .secHead .sx span{margin-right:7px;color:#a3adba;font-size:10px;}
.screen.in-house #view-home .secHead .sx:hover{color:#1a3350;}

/* 最近保存 · 知识卡（对标设计稿：白底脚注卡 / 沉浸叠字卡） */
/* Rail · 原生横向滚动，支持手机滑动与桌面拖拽。 */
.screen.in-house #view-home .recentRail{
  position:relative;
  margin:0 -4px 22px;
  padding:4px 0 10px;
  overflow-x:auto;overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
  scrollbar-width:none;
  touch-action:pan-x;
  cursor:grab;
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%);
  mask-image:linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%);
}
.screen.in-house #view-home .recentRail::-webkit-scrollbar{display:none;}
.screen.in-house #view-home .recentRail.is-dragging{cursor:grabbing;user-select:none;}
.screen.in-house #view-home .recentTrack,
.screen.in-house #view-home .recentRow{
  display:flex;
  gap:16px;
  width:max-content;
  margin:0;
  padding:2px 12px 6px;
  overflow:visible;
  will-change:transform;
}

.screen.in-house #view-home .recCard--knowledge{
  width:154px;flex:none;position:relative;
  background:transparent;border:none;box-shadow:none;padding:0;
  font:inherit;text-align:left;color:inherit;appearance:none;
}
.screen.in-house #view-home .recCard--knowledge .rc-shell{
  background:#fff;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 12px 32px -16px rgba(26,51,80,.32);
  border:1px solid rgba(26,51,80,.04);
  transition:transform .2s ease;
}
.screen.in-house #view-home .recCard--knowledge:active .rc-shell{
  transform:scale(.98);
}

/* 图区 */
.screen.in-house #view-home .recCard--knowledge .rc-media{
  position:relative;
  width:100%;
  height:168px;
  border-radius:0;
  overflow:hidden;
  background:#e8ecf0;
  box-shadow:none;
}
.screen.in-house #view-home .recCard--knowledge .rc-thumb,
.screen.in-house #view-home .recCard--knowledge:nth-child(even) .rc-thumb,
.screen.in-house #view-home .recCard--knowledge:hover .rc-thumb,
.screen.in-house #view-home .recCard--knowledge:active .rc-thumb{
  width:100%;height:100%;border-radius:0;
  transform:none!important;
  margin:0;box-shadow:none;padding:0;
  transition:none;
}
.screen.in-house #view-home .recCard--knowledge .rc-thumb span{
  position:absolute;left:12px;bottom:12px;
  font-size:13px;font-weight:700;color:rgba(255,255,255,.9);
  text-shadow:0 1px 6px rgba(0,0,0,.35);
}
.screen.in-house #view-home .recCard--knowledge .rc-thumb img{
  width:100%;height:100%;object-fit:cover;display:block;
}

/* 海军蓝书签丝带 · 右上角 */
.screen.in-house #view-home .rc-bookmark{
  position:absolute;
  top:0;right:12px;
  width:16px;height:22px;
  z-index:3;
  background:linear-gradient(180deg,#243f58 0%,#1a3350 100%);
  clip-path:polygon(0 0,100% 0,100% 100%,50% 78%,0 100%);
  box-shadow:1px 2px 4px rgba(0,0,0,.18);
  filter:drop-shadow(0 2px 3px rgba(26,51,80,.25));
}

.screen.in-house #view-home .recCard--knowledge .rc-thumb.has-cover::after,
.screen.in-house #view-home .recCard--knowledge .rc-thumb::after{display:none;}
.screen.in-house #view-home .recCard--knowledge:hover .rc-thumb img,
.screen.in-house #view-home .recCard--knowledge:active .rc-thumb img{transform:none;}

/* Style 1 · 白底脚注 */
.screen.in-house #view-home .recCard--light .rc-foot{
  padding:10px 12px 12px;
  background:#fff;
}
.screen.in-house #view-home .recCard--light .rc-ttl{
  margin:0;
  font-size:13px;font-weight:700;line-height:1.35;color:#1a2430;
  display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.screen.in-house #view-home .recCard--light .rc-src{
  margin-top:4px;
  font-size:11px;font-weight:500;color:#8b95a1;letter-spacing:.01em;
  display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;
}
.screen.in-house #view-home .recCard--knowledge .rc-when{display:none;}

/* Style 2 · 沉浸叠字（满卡封面） */
.screen.in-house #view-home .recCard--overlay .rc-shell{
  background:transparent;
  border:none;
}
.screen.in-house #view-home .recCard--overlay .rc-media{
  height:216px;
  border-radius:22px;
  box-shadow:0 12px 32px -16px rgba(26,51,80,.4);
}
.screen.in-house #view-home .recCard--overlay .rc-overlay{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  padding:36px 12px 14px;
  background:linear-gradient(180deg,transparent 0%,rgba(8,12,18,.55) 40%,rgba(8,12,18,.88) 100%);
  pointer-events:none;
}
.screen.in-house #view-home .recCard--overlay .rc-ttl{
  margin:0;color:#fff;font-size:13.5px;font-weight:700;line-height:1.35;
  text-shadow:0 1px 8px rgba(0,0,0,.4);
  display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.screen.in-house #view-home .recCard--overlay .rc-src{
  margin-top:4px;color:rgba(255,255,255,.78);font-size:11px;font-weight:500;
  display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;
}

/* 我的房间：2 列 · 封面 + 磨砂玻璃文案条 */
.screen.in-house #view-home .homeRoomsWrap{
  position:relative;
  z-index:1;
  padding-bottom:8px;
}
.screen.in-house #view-home .homeRooms{
  display:grid;grid-template-columns:1fr 1fr;gap:12px;
}
.screen.in-house #view-home .hrCard--tile{
  flex-direction:column;align-items:stretch;padding:0;overflow:hidden;
  border-radius:24px;gap:0;
  border:1px solid rgba(255,255,255,.65);
  background:#e8eef2;
  box-shadow:
    0 14px 36px -18px rgba(26,51,80,.34),
    0 2px 8px -4px rgba(26,51,80,.12);
  position:relative;
  z-index:1;
  transition:transform .22s ease, box-shadow .22s ease;
}
.screen.in-house #view-home .hrCard--tile:active{
  transform:scale(.985);
}
.screen.in-house #view-home .hrCard--tile .hr-media{
  position:relative;
  width:100%;
  aspect-ratio:4 / 5;
  min-height:168px;
  overflow:hidden;
}
.screen.in-house #view-home .hrCard--tile .hr-thumb{
  position:absolute;inset:0;
  width:100%;height:100%;
  border-radius:0;background:#e8eef2;
}
.screen.in-house #view-home .hrCard--tile .hr-thumb img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .45s ease;
}
.screen.in-house #view-home .hrCard--tile:hover .hr-thumb img{
  transform:scale(1.03);
}

/* 底部磨砂玻璃文案区 */
.screen.in-house #view-home .hrCard--tile .hr-body--glass{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  display:flex;align-items:center;justify-content:space-between;gap:6px;
  padding:11px 12px 12px;
  background:rgba(255,255,255,.68);
  backdrop-filter:blur(18px) saturate(1.25);
  -webkit-backdrop-filter:blur(18px) saturate(1.25);
  border-top:1px solid rgba(255,255,255,.55);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.7),
    0 -8px 20px -12px rgba(26,51,80,.08);
}
.screen.in-house #view-home .hrCard--tile .hr-copy{min-width:0;flex:1;}
.screen.in-house #view-home .hrCard--tile .hr-n{
  font-family:var(--font-ui);
  font-size:12.5px;font-weight:700;line-height:1.3;
  color:#1a3350;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.screen.in-house #view-home .hrCard--tile .hr-style,
.screen.in-house #view-home .hrCard--tile .hr-c,
.screen.in-house #view-home .hrCard--tile .hr-go{display:none;}
.screen.in-house #view-home .hrCard--tile .hr-meta{
  margin-top:4px;
  display:flex;
  align-items:center;
  gap:10px;
  font-size:10px;font-weight:500;line-height:1.2;
  color:rgba(26,51,80,.52);
}
.screen.in-house #view-home .hrCard--tile .hr-metaItem{
  display:inline-flex;
  align-items:center;
  gap:4px;
  min-width:0;
  white-space:nowrap;
}
.screen.in-house #view-home .hrCard--tile .hr-ico{
  flex:none;
  position:relative;
  opacity:.72;
}
.screen.in-house #view-home .hrCard--tile .hr-ico--time{
  width:11px;height:11px;
  border:1.4px solid currentColor;
  border-radius:50%;
  box-sizing:border-box;
}
.screen.in-house #view-home .hrCard--tile .hr-ico--time::before{
  content:"";
  position:absolute;
  top:1px;left:50%;
  width:1px;height:3.5px;
  background:currentColor;
  transform:translateX(-50%);
  border-radius:1px;
}
.screen.in-house #view-home .hrCard--tile .hr-ico--time::after{
  content:"";
  position:absolute;
  top:50%;left:50%;
  width:3px;height:1px;
  background:currentColor;
  transform:translate(-10%,-50%) rotate(38deg);
  transform-origin:left center;
  border-radius:1px;
}
.screen.in-house #view-home .hrCard--tile .hr-ico--gem{
  width:7px;height:7px;
  border:1.4px solid currentColor;
  transform:rotate(45deg);
  box-sizing:border-box;
  border-radius:1px;
}
.screen.in-house #view-home .hrCard--tile .hr-more{
  flex:none;
  display:flex;
  align-items:center;
  gap:2.5px;
  padding:2px 1px;
  align-self:center;
  color:rgba(26,51,80,.32);
}
.screen.in-house #view-home .hrCard--tile .hr-more i{
  display:block;
  width:3px;height:3px;
  border-radius:50%;
  background:currentColor;
}
.screen.in-house #view-home .hrCard--tile:hover{transform:translateY(-2px);}
/* 右侧房间卡（厨房）作为 IP 坐点，略抬升层级 */
.screen.in-house #view-home .hrCard--tile:nth-child(2){
  z-index:2;
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){
  .screen.in-house #view-home .hrCard--tile .hr-body--glass{
    background:rgba(255,255,255,.88);
  }
}

.screen.in-house #view-home .homeFeedLink{margin-top:16px;}
.screen.in-house #view-home .homeFeedLink button{
  background:transparent;border:none;color:#8b95a1;font-size:12px;
  text-decoration:underline;text-underline-offset:3px;padding:6px;
  box-shadow:none;
}

/* IP 顶图层：与清单页同模式 · 坐在右侧房间卡上 */
.screen.in-house .homeIpLayer{
  position:absolute;
  left:0;right:0;bottom:0;
  height:180px;
  z-index:55;
  pointer-events:none;
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  padding:0 10px 62px 12px;
  background:none;
}
.screen.in-house .homeIpLayer[hidden]{
  display:none !important;
}

/* 藏书阁 IP · 完整身体抱知识卡 · 尺寸对齐灵感库 · 头顶完整 */
.screen.in-house .roomsIpLayer{
  position:absolute;
  left:0;right:0;bottom:0;
  height:200px;
  z-index:100;
  pointer-events:none;
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  padding:0 12px 70px 42px;
  background:none;
  overflow:visible;
}
.screen.in-house .roomsIpLayer[hidden]{
  display:none !important;
}
.screen.in-house .roomsNavSit{
  position:relative;
  /* 与灵感库 IP 同级体量；全身略增高 */
  width:96px;
  height:118px;
  flex:none;
  pointer-events:none;
  z-index:1;
  margin:0 0 -6px 0;
  background:transparent;
  overflow:visible;
}
.screen.in-house .roomsNavSit-shadow{
  position:absolute;
  left:50%;
  bottom:6px;
  width:58px;
  height:12px;
  transform:translateX(-50%);
  border-radius:50%;
  background:radial-gradient(
    ellipse closest-side,
    rgba(26,51,80,.2) 0%,
    rgba(26,51,80,.06) 55%,
    transparent 100%
  );
  z-index:1;
  pointer-events:none;
}
.screen.in-house .verso-mascot--rooms{
  position:absolute;
  left:50%;
  bottom:0;
  right:auto;
  width:96px;
  height:118px;
  margin:0;
  padding:0;
  border:none;
  outline:none;
  background:transparent !important;
  box-shadow:none;
  -webkit-appearance:none;
  appearance:none;
  transform:translateX(-50%);
  z-index:2;
  pointer-events:auto;
  cursor:pointer;
  filter:drop-shadow(0 6px 14px rgba(26,51,80,.24));
  animation:none !important;
  overflow:visible;
}
.screen.in-house .verso-mascot--rooms img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center bottom;
  display:block;
  background:transparent !important;
  pointer-events:none;
}
.screen.in-house .verso-mascot--rooms.is-flip,
.screen.in-house .verso-mascot--rooms.is-flip img{
  animation:none !important;
}

/* 灵感库 IP · 深色 wink VERSO（左）+ 对话框（右），同在顶图层 */
.screen.in-house .inspoIpLayer{
  position:absolute;
  left:0;right:0;bottom:0;
  height:160px;
  z-index:100;
  pointer-events:none;
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  gap:2px;
  padding:0 12px 70px 14px;
  background:none;
}
.screen.in-house .inspoIpLayer[hidden]{
  display:none !important;
}
.screen.in-house .inspoBubble{
  position:relative;
  max-width:160px;
  margin:0 0 48px 0;
  padding:11px 14px;
  background:#f2f5f8;
  border-radius:18px 18px 18px 6px;
  box-shadow:
    0 8px 20px -10px rgba(26,51,80,.28),
    0 1px 0 rgba(255,255,255,.9) inset;
  z-index:2;
  pointer-events:none;
  flex:none;
}
.screen.in-house .inspoBubble::after{
  content:"";
  position:absolute;
  left:-5px;
  bottom:14px;
  width:10px;height:10px;
  background:#f2f5f8;
  transform:rotate(45deg);
  border-radius:2px;
}
.screen.in-house .inspoBubble p{
  margin:0;
  font-size:12.5px;
  line-height:1.45;
  color:#1a3350;
  font-weight:600;
}
.screen.in-house .inspoSit{
  position:relative;
  width:88px;
  height:92px;
  flex:none;
  pointer-events:none;
  z-index:3;
  margin:0 0 -10px 4px;
}
.screen.in-house .inspoSit-shadow{
  position:absolute;
  left:50%;
  bottom:4px;
  width:52px;
  height:11px;
  transform:translateX(-50%);
  border-radius:50%;
  background:radial-gradient(
    ellipse closest-side,
    rgba(26,51,80,.2) 0%,
    rgba(26,51,80,.06) 55%,
    transparent 100%
  );
  z-index:1;
  pointer-events:none;
}
.screen.in-house .verso-mascot--inspo{
  position:absolute;
  left:50%;
  bottom:0;
  width:88px;
  height:92px;
  margin:0;
  padding:0;
  border:none;
  outline:none;
  background:transparent !important;
  box-shadow:none;
  -webkit-appearance:none;
  appearance:none;
  transform:translateX(-50%);
  z-index:2;
  pointer-events:auto;
  cursor:pointer;
  filter:drop-shadow(0 6px 12px rgba(26,51,80,.28));
  animation:none !important;
}
.screen.in-house .verso-mascot--inspo img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center bottom;
  display:block;
  background:transparent !important;
  pointer-events:none;
}
.screen.in-house .verso-mascot--inspo.is-flip,
.screen.in-house .verso-mascot--inspo.is-flip img{
  animation:none !important;
}

.screen.in-house .homeSit{
  position:relative;
  width:108px;
  height:118px;
  flex:none;
  pointer-events:auto;
  z-index:3;
  margin:0 4px -4px 0;
}
.screen.in-house .homeSit-shadow{
  position:absolute;
  left:50%;
  bottom:10px;
  width:72px;
  height:16px;
  transform:translateX(-50%);
  border-radius:50%;
  background:radial-gradient(
    ellipse closest-side,
    rgba(26,51,80,.3) 0%,
    rgba(26,51,80,.12) 45%,
    rgba(26,51,80,.03) 70%,
    transparent 100%
  );
  z-index:1;
  pointer-events:none;
}
.screen.in-house .verso-mascot--home{
  position:absolute;
  left:50%;
  bottom:12px;
  right:auto;
  width:104px;
  height:104px;
  margin:0;
  padding:0;
  border:none;
  background:transparent;
  transform:translateX(-50%);
  z-index:2;
  pointer-events:auto;
  filter:none;
  animation:none !important;
  transition:none;
  cursor:pointer;
}
.screen.in-house .verso-mascot--home img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center bottom;
  display:block;
  filter:drop-shadow(0 1px 2px rgba(26,51,80,.12));
}
.screen.in-house .verso-mascot--home.is-flip,
.screen.in-house .verso-mascot--home.is-flip img{
  animation:none !important;
}

/* 底栏：悬浮玻璃胶囊 · 内容/图标不变，仅 UI 组件优化 */
.screen.in-house .botnav:not(.douyin){
  left:14px;right:14px;bottom:14px;
  height:58px;
  width:auto;max-width:calc(100% - 28px);
  border-radius:999px;
  padding:8px 8px 10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:0;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(255,255,255,.9);
  backdrop-filter:blur(22px) saturate(1.15);
  -webkit-backdrop-filter:blur(22px) saturate(1.15);
  box-shadow:
    0 12px 32px -12px rgba(26,51,80,.22),
    0 2px 10px -4px rgba(26,51,80,.1),
    inset 0 1px 0 rgba(255,255,255,.95);
  z-index:90;
}
.screen.in-house .botnav:not(.douyin) .nav{
  width:auto;min-width:0;flex:1;
  gap:3px;padding-top:0;
  color:rgba(26,51,80,.42);
  transition:color .2s ease;
}
.screen.in-house .botnav:not(.douyin) .nav .ni{
  display:flex !important;
  align-items:center;justify-content:center;
  font-size:15px;line-height:1;height:20px;
  color:inherit;font-weight:500;
}
.screen.in-house .botnav:not(.douyin) .nav .nl{
  position:relative;
  display:inline-block;
  font-size:9.5px;font-weight:500;
  margin-top:1px;letter-spacing:-0.01em;
  white-space:nowrap;line-height:1.15;
  color:inherit;
  padding-bottom:5px;
}
/* 选中：海军蓝 + 字下短横指示 */
.screen.in-house .botnav:not(.douyin) .nav.on{
  color:#1a3350;
}
.screen.in-house .botnav:not(.douyin) .nav.on .ni,
.screen.in-house .botnav:not(.douyin) .nav.on .nl{
  font-weight:700;
  color:#1a3350;
}
.screen.in-house .botnav:not(.douyin) .nav .nl::after{
  content:"";
  position:absolute;left:50%;bottom:0;
  width:0;height:2px;border-radius:2px;
  background:#1a3350;
  transform:translateX(-50%);
  transition:width .22s var(--verso-ease-soft);
}
.screen.in-house .botnav:not(.douyin) .nav.on .nl::after{
  width:14px;
}
/* 中间 ＋ ：更大、更高，压在胶囊之上 */
.screen.in-house .botnav:not(.douyin) .nav.plus{
  top:-16px;
  flex:0 0 56px;
  width:56px;
  z-index:3;
  color:transparent;
  padding-top:0;
}
.screen.in-house .botnav:not(.douyin) .nav.plus .ni{
  display:flex !important;
  width:52px;height:52px;
  border-radius:50%;
  background:#1a3350;
  color:#fff;
  font-size:28px;font-weight:400;
  line-height:1;
  box-shadow:
    0 12px 28px -8px rgba(26,51,80,.55),
    0 4px 10px -4px rgba(26,51,80,.35),
    inset 0 1px 0 rgba(255,255,255,.22);
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.screen.in-house .botnav:not(.douyin) .nav.plus .nl,
.screen.in-house .botnav:not(.douyin) .nav.plus .nl::after{display:none;}
.screen.in-house .botnav:not(.douyin) .nav.plus:hover .ni{
  background:#243f58;
  box-shadow:
    0 14px 30px -8px rgba(26,51,80,.58),
    0 4px 12px -4px rgba(26,51,80,.38),
    inset 0 1px 0 rgba(255,255,255,.22);
}
.screen.in-house .botnav:not(.douyin) .nav.plus:active .ni{
  transform:scale(.94);
}
.screen.in-house .botnav:not(.douyin) .nav[data-nav="todo"].on{
  color:#1a3350;
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){
  .screen.in-house .botnav:not(.douyin){
    background:rgba(255,255,255,.94);
  }
}

/* ---- Figma · 行动清单库 · 双图层 ---- */
.screen.in-house #view-todo{
  background: var(--verso-page-bg);
  /* 保持 .view 的 absolute+inset:0，勿改成 relative（会塌成空白页） */
  overflow:hidden;
}

/* Layer 1 · 清单底层（铺满 view，可滚动） */
.screen.in-house #view-todo .todoLayer--list{
  position:absolute;
  inset:0;
  z-index:1;
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
}
  .screen.in-house .todoWrap{
  padding:52px 18px 176px; /* 给坐着的 IP 留出压住底部卡片的空间 */
}
.screen.in-house .todoHead{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:6px;
}
.screen.in-house .todoWrap h2{
  font-family:var(--font-ui);
  font-size:28px;
  font-weight:800;
  color:#364868;
  letter-spacing:-0.02em;
  margin:0 0 6px;
  line-height:1.15;
}
.screen.in-house .todoWrap .todoCount{
  font-size:12.5px;
  color:#949aaa;
  line-height:1.45;
  max-width:240px;
  margin:0;
}
.screen.in-house .todoBadge{
  flex:none;
  margin-top:4px;
  padding:8px 12px;
  border-radius:20px;
  background:#ececee;
  border:1px solid #eeeeef;
  color:#959bab;
  font-size:12px;
  font-weight:500;
  white-space:nowrap;
}
.screen.in-house .actionListCard{
  background:transparent;
  border:none;
  box-shadow:none;
  padding:0;
  margin-bottom:14px;
}

/* 行动清单库 · 57mm 热敏小票合集（瀑布流：最短列下落，不横向齐高） */
.screen.in-house .todoReceiptGrid{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-top:10px;
}
.screen.in-house .todoReceiptGrid.is-empty{
  display:block;
}
.screen.in-house .todoReceiptCol{
  flex:1 1 0;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.screen.in-house .receiptCard{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:8px;
  width:100%;
  margin:0;
  padding:0;
  border:none;
  background:transparent;
  cursor:pointer;
  text-align:center;
  height:auto;
  transition:transform .22s var(--verso-spring);
}
.screen.in-house .receiptCard:active{
  transform:scale(.985);
}
.screen.in-house .receiptCard__scene{
  position:relative;
  padding:10px 8px 4px;
  border-radius:20px;
  background:
    linear-gradient(165deg, rgba(255,255,255,.42), rgba(255,255,255,.12)),
    rgba(245,248,252,.22);
  border:1px solid rgba(255,255,255,.55);
  box-shadow:
    0 14px 30px -16px rgba(26,51,80,.22),
    inset 0 1px 0 rgba(255,255,255,.75);
}
.screen.in-house .receiptCard__scene::after{
  content:"";
  position:absolute;
  left:10%;right:10%;bottom:0;
  height:7px;
  background:
    radial-gradient(circle at 6px 0, transparent 5px, rgba(255,255,255,.55) 5.5px) 0 0/12px 7px repeat-x;
  opacity:.85;
  pointer-events:none;
}
.screen.in-house .receiptWrap{
  position:relative;
  margin:0 auto;
  width:min(57mm, 100%);
  filter:drop-shadow(0 8px 18px rgba(26,51,80,.12));
}
.screen.in-house .receipt{
  width:100%;
  background:#fff;
  color:#111;
  padding:7px 5px 9px;
  font-family:"SF Mono", Menlo, Consolas, "Courier New", monospace;
  font-size:8.5px;
  line-height:1.42;
  text-align:left;
}
.screen.in-house .receipt--preview{
  font-size:7.8px;
  padding:6px 4px 8px;
}
.screen.in-house .receipt .rc-ip{
  text-align:center;
  margin-bottom:3px;
}
.screen.in-house .receipt .rc-ip img{
  width:34px;
  height:auto;
  display:inline-block;
  filter:contrast(1.1) saturate(.85);
}
.screen.in-house .receipt--preview .rc-ip img{width:28px;}
.screen.in-house .receipt .rc-brand{
  margin-top:2px;
  font-family:var(--font-ui);
  font-size:9px;
  font-weight:800;
  letter-spacing:.18em;
  color:#152a36;
}
.screen.in-house .receipt .rc-tagline{
  font-family:var(--font-ui);
  font-size:7px;
  color:#555;
  margin-top:1px;
}
.screen.in-house .receipt .rc-dash{
  border:none;
  border-top:1px dashed rgba(0,0,0,.32);
  margin:5px 0;
}
.screen.in-house .receipt .rc-dash.double{
  border-top:1.2px solid #111;
  border-bottom:1px dashed rgba(0,0,0,.32);
  height:3px;
  margin:6px 0;
}
.screen.in-house .receipt .rc-title{
  font-family:var(--font-ui);
  font-size:9.5px;
  font-weight:700;
  line-height:1.32;
  margin-bottom:1px;
  color:#111;
}
.screen.in-house .receipt--preview .rc-title{font-size:8.8px;}
.screen.in-house .receipt .rc-sub{
  font-size:7px;
  color:#555;
  line-height:1.35;
}
.screen.in-house .receipt .rc-meta-row{
  display:flex;
  justify-content:space-between;
  gap:4px;
  font-size:6.8px;
  color:#555;
  margin-top:3px;
}
.screen.in-house .receipt .rc-section{
  font-family:var(--font-ui);
  font-size:7px;
  font-weight:700;
  color:#555;
  margin:5px 0 2px;
}
.screen.in-house .receipt .rc-items{list-style:none;}
.screen.in-house .receipt .rc-item{
  display:flex;
  align-items:flex-start;
  gap:4px;
  margin:4px 0;
}
.screen.in-house .receipt .rc-box{
  flex:none;
  width:8px;height:8px;
  border:1.2px solid #111;
  margin-top:1px;
  position:relative;
}
.screen.in-house .receipt .rc-box.checked::after{
  content:"✓";
  position:absolute;
  inset:-2px 0 0;
  text-align:center;
  font-size:7px;
  font-weight:700;
  line-height:10px;
}
.screen.in-house .receipt .rc-text{
  flex:1;
  font-size:7.8px;
  line-height:1.35;
  color:#111;
}
.screen.in-house .receipt--preview .rc-text{font-size:7.2px;}
.screen.in-house .receipt .rc-tag{
  font-size:6.5px;
  color:#666;
  margin-left:2px;
}
.screen.in-house .receipt .rc-more{
  font-size:7px;
  color:#666;
  margin:3px 0 1px;
  font-style:italic;
}
.screen.in-house .receipt .rc-printed{
  display:inline-block;
  margin-left:4px;
  padding:0 4px;
  border:1px solid rgba(0,0,0,.25);
  border-radius:3px;
  font-size:6px;
}
.screen.in-house .receipt .rc-barcode{
  margin:4px auto 3px;
  width:76%;
  height:12px;
  background:repeating-linear-gradient(
    90deg,
    #111 0, #111 1.5px,
    transparent 1.5px, transparent 3px,
    #111 3px, #111 4px,
    transparent 4px, transparent 7px
  );
  opacity:.45;
}
.screen.in-house .receipt .rc-foot{
  text-align:center;
  font-size:6.5px;
  color:#555;
  line-height:1.45;
}
.screen.in-house .receipt .rc-foot .slogan{
  font-family:var(--font-ui);
  font-weight:600;
  color:#1f3a4a;
  margin-bottom:1px;
}
.screen.in-house .receiptCard__foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-height:28px;
  padding:0 2px;
}
.screen.in-house .receiptCard__hint{
  font-size:10px;
  color:#8b95a6;
  font-weight:500;
}
.screen.in-house .receiptCard__actions{
  display:flex;
  align-items:center;
  gap:6px;
}
.screen.in-house .receiptCard__print{
  border:none;
  border-radius:999px;
  padding:5px 12px;
  font-size:11px;
  font-weight:700;
  cursor:pointer;
  background:var(--verso-navy, #1f3a4a);
  color:#fff;
  position:relative;
  z-index:2;
}
.screen.in-house .receiptCard__stamp{
  font-size:9px;
  font-weight:700;
  color:#5a6f96;
  background:#edf0f7;
  border-radius:999px;
  padding:2px 7px;
}

/* 清单详情 · 可勾选小票 */
.todoDetailSheet,
.screen.in-house .todoDetailSheet{
  position:absolute;
  left:0;right:0;bottom:0;
  z-index:320;
  max-height:min(88vh, 720px);
  border-radius:28px 28px 0 0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.98));
  border:1px solid rgba(255,255,255,.8);
  box-shadow:0 -18px 48px -12px rgba(26,51,80,.22);
  transform:translateY(110%);
  transition:transform .42s var(--verso-spring);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  pointer-events:auto;
}
.todoDetailSheet.open,
.screen.in-house .todoDetailSheet.open{
  transform:translateY(0);
}
/* 进屋后 Feed 视频绝不能挡住打印按钮 */
.screen.in-house #view-feed,
.screen.in-house #view-feed #realVideo,
.screen.in-house #view-feed .videoWrap{
  pointer-events:none !important;
}
/* Scrim sits UNDER sheets. Sheets were stuck at 160 while scrim jumped to 300,
   which painted a dark veil over every bottom sheet (parse / role / etc.). */
.scrim.show{
  z-index:300;
}
.panel,
.sheet,
.roomSheet,
.genRoomSheet,
.roleSheet,
.parseSheet,
.furnSheet,
.meshSheet,
.viewer{
  z-index:310 !important;
}
/* 评论区必须压过 parse / todoDetail，避免灵感库上传页叠在评论上 */
.commentSheet,
.screen .commentSheet{
  z-index:330 !important;
}
.todoDetailSheet,
.screen.in-house .todoDetailSheet{
  z-index:320;
}
/* 未打开的底栏 / 查看器一律不可见，防止露出空白「交互网页」或陪看详解条 */
.panel:not(.open),
.parseSheet:not(.open),
.todoDetailSheet:not(.open),
.sheet:not(.open),
.roomSheet:not(.open),
.genRoomSheet:not(.open),
.roleSheet:not(.open),
.furnSheet:not(.open),
.meshSheet:not(.open),
.commentSheet:not(.open),
.viewer:not(.on){
  visibility:hidden !important;
  pointer-events:none !important;
}
/* 评论区打开时，强制藏起弹幕详解面板（避免只露出 VERSO 头一条） */
.screen:has(#commentSheet.open) .panel{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateY(110%) !important;
}
/* 评论区盖住底栏与 Home Indicator，输入框贴屏幕最底 */
.screen:has(#commentSheet.open) .botnav,
.screen:has(#commentSheet.open) .home-indicator{
  visibility:hidden !important;
  pointer-events:none !important;
  opacity:0 !important;
}
/* 评论打开：禁止 #screen 滚动；评论层绝对贴在手机屏幕底（勿用 viewport fixed，宽屏会逃出手机框） */
.screen:has(#commentSheet.open),
.screen.scroll-locked{
  overflow:hidden !important;
  overflow:clip !important;
}
.screen:has(#commentSheet.open) #commentSheet.open{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  top:auto !important;
  width:auto !important;
  padding-bottom:0 !important;
  margin:0 !important;
  z-index:330 !important;
  transform:translateY(0) !important;
}
.screen:has(#commentSheet.open) #commentSheet.open .cmtComposer{
  padding:8px 12px 10px !important;
}
/* 知识卡展开时，列表别在卡片和输入框之间留一大块空白 */
.screen:has(#commentSheet.open) #cmtList{
  justify-content:flex-start;
}
.commentSheet:has(.versoCardEmbed.open) .cmtList{
  scroll-padding-bottom:8px;
}
.screen.in-house .todoDetailSheet .grip{
  width:38px;height:4px;border-radius:99px;
  background:rgba(26,51,80,.14);
  margin:10px auto 0;
}
.screen.in-house .todoDetailSheet .sclose{
  position:absolute;top:12px;right:14px;
  width:32px;height:32px;border-radius:50%;
  border:1px solid rgba(26,51,80,.1);
  background:rgba(255,255,255,.9);
  color:#5a6f96;font-size:14px;cursor:pointer;
  z-index:3;
}
.screen.in-house .tdsHead{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:14px 52px 10px 18px; /* 右侧给关闭按钮留空 */
}
.screen.in-house .tdsEyebrow{
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
  color:#8b95a6;
  text-transform:uppercase;
}
.screen.in-house .tdsHead h3{
  margin:4px 0 0;
  font-size:17px;
  font-weight:800;
  color:#364868;
  line-height:1.25;
}
.screen.in-house .tdsBody{
  flex:1;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  padding:0 18px 12px;
}
.screen.in-house .tdsFooter{
  flex:none;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  padding:12px 18px calc(14px + env(safe-area-inset-bottom, 0px));
  border-top:1px solid rgba(26,51,80,.08);
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(12px);
}
.screen.in-house .tdsPrintStatus{
  flex: 1 0 100%;
  order: -1;
  font-size:11px;
  line-height:1.4;
  color:#5a6f96;
  min-height:16px;
}
.screen.in-house .tdsPrintStatus.is-ok{ color:#2f8f5b; font-weight:600; }
.screen.in-house .tdsPrintStatus.is-err{ color:#b42318; font-weight:600; }
.screen.in-house .tdsPrint,
.screen.in-house .tdsDel{
  border:none;
  border-radius:999px;
  padding:12px 16px;
  font-size:14px;
  font-weight:700;
  cursor:pointer;
}
.screen.in-house .tdsPrint{
  flex:1;
  background:var(--verso-navy, #1f3a4a);
  color:#fff;
}
.screen.in-house .tdsPrint:disabled{
  opacity:.55;
  cursor:wait;
}
.screen.in-house .tdsDel{
  flex:none;
  background:rgba(54,72,104,.06);
  color:#949aaa;
  min-width:72px;
}
.screen.in-house .receiptScene{
  display:flex;
  justify-content:center;
  padding:4px 0 12px;
}
.screen.in-house .receiptScene .receiptWrap{
  width:min(57mm, calc(100% - 8px));
}
.screen.in-house .receiptScene .receipt{
  font-size:10px;
  padding:10px 7px 12px;
  box-shadow:0 12px 32px -12px rgba(26,51,80,.18);
}
.screen.in-house .receiptScene .rc-ip img{width:44px;}
.screen.in-house .receiptScene .rc-title{font-size:12px;}
.screen.in-house .receiptScene .rc-text{font-size:9.5px;}
.screen.in-house .receipt--interactive .rc-item--tap{
  cursor:pointer;
  border-radius:6px;
  margin-left:-4px;
  margin-right:-4px;
  padding:2px 4px;
  transition:background .15s ease;
}
.screen.in-house .receipt--interactive .rc-item--tap:active{
  background:rgba(26,51,80,.06);
}
.screen.in-house .receipt--interactive .rc-item--tap .rc-text.done,
.screen.in-house .receipt--interactive .rc-box.checked + .rc-text{
  color:#888;
  text-decoration:line-through;
}
.screen.in-house .alcHead{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
  padding:0 2px;
}
.screen.in-house .alcTitle{
  font-size:14px;
  font-weight:700;
  color:#364868;
}
.screen.in-house .alcMeta{
  font-size:11px;
  color:#949aaa;
  margin-top:2px;
}
.screen.in-house .alcBtns{display:flex;gap:6px;flex:none;}
.screen.in-house .alcPrint,
.screen.in-house .alcDel{
  border:none;
  border-radius:999px;
  padding:6px 10px;
  font-size:11px;
  font-weight:600;
  cursor:pointer;
}
.screen.in-house .alcPrint{
  background:#edf0f7;
  color:#5a6f96;
}
.screen.in-house .alcDel{
  background:rgba(54,72,104,.06);
  color:#949aaa;
}
.screen.in-house .todoItem{
  display:flex;
  align-items:flex-start;
  gap:12px;
  background:rgba(252,251,250,.98);
  border:1px solid #f5f4f3;
  border-radius:26px;
  padding:14px 14px 12px;
  margin-bottom:10px;
  box-shadow:0 10px 28px -18px rgba(54,72,104,.28);
  transition:transform .22s var(--verso-spring), box-shadow .22s;
  position:relative;
  z-index:1;
}
.screen.in-house .todoItem:active{
  transform:scale(.985);
}
.screen.in-house .todoItem .tk{
  width:28px;height:28px;
  border-radius:50%;
  border:1.8px solid rgba(54,72,104,.28);
  background:transparent;
  flex:none;
  margin-top:2px;
  font-size:13px;
  color:#fff;
}
.screen.in-house .todoItem.done .tk{
  background:#364868;
  border-color:#364868;
}
.screen.in-house .todoItem .tt{
  flex:1;
  font-size:15px;
  font-weight:600;
  color:#444e6f;
  line-height:1.35;
  padding-top:2px;
}
.screen.in-house .todoItem .todoMain{
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.screen.in-house .todoItem .todoTags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.screen.in-house .todoItem.done .tt{
  color:#b0b6c4;
  text-decoration:line-through;
}
.screen.in-house .todoItem .tg{
  align-self:flex-start;
  background:#edf0f7;
  color:#8599c1;
  border-radius:14px;
  padding:4px 9px;
  font-size:11px;
  font-weight:500;
}
.screen.in-house .todoEmpty{
  text-align:center;
  color:#949aaa;
  font-size:13px;
  line-height:1.6;
  padding:48px 20px 72px;
  background:rgba(255,255,255,.92);
  border-radius:24px;
  border:1px solid rgba(54,72,104,.08);
  box-shadow:0 10px 28px -18px rgba(54,72,104,.28);
  margin-bottom:8px;
}

/* Layer 2 · IP 坐在清单上（压住底部卡片，无动效） */
.screen.in-house #view-todo .todoLayer--float{
  position:absolute;
  left:0;
  right:0;
  bottom:64px;
  height:148px;
  z-index:55;
  pointer-events:none;
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  gap:6px;
  padding:0 8px 0 14px;
  background:none;
}
.screen.in-house #view-todo .todoLayer--float.is-empty{
  opacity:0;
  visibility:hidden;
}
.screen.in-house .todoBubble{
  position:relative;
  left:auto;
  bottom:auto;
  max-width:148px;
  margin:0 0 36px 0;
  padding:11px 13px;
  background:#f0f4f8;
  border-radius:18px 18px 6px 18px;
  box-shadow:
    0 6px 16px -8px rgba(54,72,104,.28),
    0 1px 0 rgba(255,255,255,.8) inset;
  z-index:2;
  pointer-events:none;
  animation:none;
  flex:none;
}
.screen.in-house .todoBubble::after{
  content:"";
  position:absolute;
  right:-5px;
  bottom:14px;
  width:10px;height:10px;
  background:#f0f4f8;
  transform:rotate(45deg);
  border-radius:2px;
}
.screen.in-house .todoBubble p{
  margin:0;
  font-size:12.5px;
  line-height:1.45;
  color:#696f88;
  font-weight:500;
}
.screen.in-house .todoBubble span{color:#7a8eb8;}

/* 坐姿容器：脚底接触阴影，像坐在卡片上 */
.screen.in-house .todoSit{
  position:relative;
  width:100px;
  height:108px;
  flex:none;
  pointer-events:auto;
  z-index:3;
  margin:0 2px -6px 0; /* 略下沉，压住最下方待办卡 */
}
.screen.in-house .todoSit-shadow{
  position:absolute;
  left:50%;
  bottom:8px;
  width:70px;
  height:16px;
  transform:translateX(-50%);
  border-radius:50%;
  background:radial-gradient(
    ellipse closest-side,
    rgba(26,51,80,.32) 0%,
    rgba(26,51,80,.14) 45%,
    rgba(26,51,80,.04) 70%,
    transparent 100%
  );
  z-index:1;
  pointer-events:none;
}

/* VERSO 静态坐姿 · 朝左 · 无浮动动效 */
.screen.in-house .verso-mascot--todo{
  position:absolute;
  left:50%;
  bottom:12px;
  right:auto;
  width:92px;
  height:92px;
  margin:0;
  padding:0;
  border:none;
  background:transparent;
  transform:translateX(-50%);
  z-index:2;
  pointer-events:auto;
  filter:none;
  animation:none !important;
  transition:none;
  cursor:pointer;
}
.screen.in-house .verso-mascot--todo img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  /* 极轻环境阴影，主阴影交给脚底接触阴影 */
  filter:drop-shadow(0 1px 2px rgba(26,51,80,.12));
}
.screen.in-house .verso-mascot--todo img.verso-look-left,
.screen.in-house .verso-mascot--todo .verso-look-left{
  transform:scaleX(-1);
  transform-origin:center center;
}
.screen.in-house .verso-mascot--todo.is-flip,
.screen.in-house .verso-mascot--todo.is-flip img.verso-look-left{
  animation:none !important;
}

/* 中间 ＋ 已在上方统一；保留层级兜底 */
.screen.in-house .botnav:not(.douyin){
  z-index:90;
}
.parseSheet.verso-skin .parseBrand{
  font-size:11px;font-weight:800;letter-spacing:.2em;
  color:var(--verso-navy);margin-bottom:4px;
}
.parseSheet.verso-skin h3{
  font-size:20px;font-weight:800;letter-spacing:-0.02em;
  margin:0 0 6px;color:#364868;
}
.parseSheet.verso-skin .parseIn{
  display:flex;flex-direction:column;gap:10px;padding:0 4px;
}
.parseSheet.verso-skin .parseIn input{
  width:100%;border-radius:18px;padding:14px 16px;
  border:1.5px solid rgba(54,72,104,.12);
}
.parseSheet.verso-skin .parseIn button{
  width:100%;border-radius:18px;padding:14px;
  background:#1a3350;color:#fff;font-size:16px;font-weight:700;
  border:none;box-shadow:0 10px 24px -10px rgba(26,51,80,.55);
}
.parseSheet.verso-skin .parseSteps{
  display:flex;gap:8px;padding:14px 4px 8px;
}
.parseSheet.verso-skin .parseStep{
  flex:1;background:#fff;border:1px solid rgba(54,72,104,.08);
  border-radius:16px;padding:10px 8px 12px;text-align:left;
  box-shadow:0 6px 16px -12px rgba(54,72,104,.25);
  position:relative;
}
.parseSheet.verso-skin .parseStep .ps-n{
  display:inline-flex;align-items:center;justify-content:center;
  width:20px;height:20px;border-radius:50%;
  background:#1a3350;color:#fff;font-size:11px;font-weight:700;
  margin-bottom:6px;
}
.parseSheet.verso-skin .parseStep .ps-t{
  font-size:12px;font-weight:700;color:#364868;
}
.parseSheet.verso-skin .parseStep .ps-d{
  font-size:10px;color:#949aaa;margin-top:2px;line-height:1.3;
}

/* 首页问候更贴 Figma */
.screen.in-house .homeTop .hi{
  font-size:32px;font-weight:800;color:#1a3350;letter-spacing:-0.03em;
}
.screen.in-house .homeTagline{
  font-size:13px;letter-spacing:.14em;color:#1a3350;
  text-transform:none;font-weight:600;margin-top:6px;opacity:.72;
}
/* ============================================================
   Liquid Glass Premium Pass · Cold Luxury
   Web approximation of Apple materials (not official Liquid Glass).
   Inspired by: large irregular cards + frosted chrome + soft mesh.
   Dials: VARIANCE 8 · MOTION 6 · DENSITY 3
   ============================================================ */

/* —— Page atmosphere —— */
.screen.in-house #view-home,
.screen.in-house #view-rooms,
.screen.in-house #view-todo,
.screen.in-house #view-me,
.screen.in-house #view-room,
.screen.in-house #view-inspo{
  background: var(--verso-page-bg);
}

.screen.in-house #view-home .homeAura{
  display:block !important;
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  overflow:hidden;
}
.screen.in-house #view-home .homeAura-orb{
  position:absolute;
  border-radius:50%;
  filter:blur(2px);
  will-change:transform;
}
.screen.in-house #view-home .homeAura-orb--a{
  width:260px;height:260px;
  left:-56px;top:-28px;
  background:
    radial-gradient(circle at 35% 35%, rgba(255,255,255,.7), transparent 52%),
    radial-gradient(circle at 50% 50%, rgba(61,106,130,.42), rgba(61,106,130,0) 68%);
  animation:versoAuraDrift 14s ease-in-out infinite;
}
.screen.in-house #view-home .homeAura-orb--b{
  width:210px;height:210px;
  right:-52px;top:96px;
  background:
    radial-gradient(circle at 40% 30%, rgba(255,255,255,.62), transparent 48%),
    radial-gradient(circle at 50% 50%, rgba(140,180,210,.5), rgba(140,180,210,0) 70%);
  animation:versoAuraDrift 18s ease-in-out infinite reverse;
}
.screen.in-house #view-home .homeAura-orb--c{
  width:280px;height:180px;
  left:12%;bottom:22%;
  background:
    radial-gradient(ellipse at 50% 50%, rgba(31,58,74,.14), transparent 68%);
  animation:versoAuraDrift 22s ease-in-out infinite;
}
@keyframes versoAuraDrift{
  0%,100%{ transform:translate3d(0,0,0) scale(1); }
  50%{ transform:translate3d(10px,-14px,0) scale(1.06); }
}

/* —— Profile / Search · Soft UI（覆盖 glass 旧样式） —— */
.screen.in-house #view-home .homeProfile{
  background:#ffffff;
  border:1.5px solid rgba(26,51,80,.1);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  box-shadow:
    0 6px 16px -8px rgba(26,51,80,.2),
    0 1px 0 rgba(255,255,255,.95) inset;
}
.screen.in-house #view-home .homeProfile:active{
  transform:scale(.96);
}
.screen.in-house #view-home .searchBar{
  position:relative;
  isolation:auto;
  background:#ffffff;
  border:1px solid rgba(26,51,80,.1);
  border-radius:999px;
  padding:14px 18px;
  margin-bottom:14px;
  color:rgba(26,51,80,.38);
  box-shadow:
    0 8px 22px -12px rgba(26,51,80,.18),
    0 1px 0 rgba(255,255,255,.9) inset;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  overflow:visible;
}
.screen.in-house #view-home .searchBar::before,
.screen.in-house #view-home .searchBar::after{
  display:none;
  content:none;
}
.screen.in-house #view-home .searchBar .si{
  display:inline-block !important;
  border-color:#1a3350;
  opacity:.55;
}
.screen.in-house #view-home .searchBar .si::after{
  background:#1a3350;
}

/* —— Chips · frosted + navy gradient active —— */
.screen.in-house #view-home .catChip .cl{
  background: var(--verso-glass-bg);
  border:1px solid rgba(255,255,255,.7);
  color:rgba(26,51,80,.62);
  box-shadow:
    0 6px 16px -10px rgba(26,51,80,.2),
    inset 0 1px 0 rgba(255,255,255,.9);
  backdrop-filter: blur(16px) saturate(1.4);
  -webkit-backdrop-filter: blur(16px) saturate(1.4);
}
.screen.in-house #view-home .catChip.on .cl{
  background: linear-gradient(160deg, #2a4a60 0%, #1a3350 55%, #152a36 100%);
  border-color: rgba(255,255,255,.18);
  color:#fff;
  box-shadow:
    0 10px 22px -10px rgba(26,51,80,.55),
    inset 0 1px 0 rgba(255,255,255,.28);
}

/* —— Recent cards · larger + irregular radius (异形) —— */
.screen.in-house #view-home .recentRail .recentTrack{ gap:16px; }
.screen.in-house #view-home .recCard--knowledge{ width:162px; }
.screen.in-house #view-home .recCard--knowledge .rc-shell{
  background:
    linear-gradient(160deg, rgba(255,255,255,.7), rgba(255,255,255,.4)),
    rgba(255,255,255,.55);
  border-radius: 32px 18px 28px 16px;
  border: 1px solid rgba(255,255,255,.78);
  box-shadow:
    0 20px 44px -16px rgba(21,42,54,.36),
    0 4px 12px -6px rgba(21,42,54,.12),
    inset 0 1px 0 rgba(255,255,255,.92);
  backdrop-filter: blur(14px) saturate(1.25);
  -webkit-backdrop-filter: blur(14px) saturate(1.25);
  transform: rotate(-1.2deg);
  transition: transform .35s var(--verso-spring), box-shadow .35s;
}
.screen.in-house #view-home .recCard--knowledge:nth-child(even) .rc-shell{
  border-radius: 18px 32px 16px 28px;
  transform: rotate(1.4deg);
}
.screen.in-house #view-home .recCard--knowledge:nth-child(3n) .rc-shell{
  border-radius: 26px 14px 32px 20px;
  transform: rotate(-0.6deg);
}
.screen.in-house #view-home .recCard--knowledge:hover .rc-shell,
.screen.in-house #view-home .recCard--knowledge:nth-child(even):hover .rc-shell,
.screen.in-house #view-home .recCard--knowledge:nth-child(3n):hover .rc-shell{
  transform: translateY(-4px) rotate(0deg) scale(1.02);
  box-shadow:
    0 24px 52px -14px rgba(21,42,54,.42),
    0 6px 14px -6px rgba(21,42,54,.14),
    inset 0 1px 0 rgba(255,255,255,.95);
}
.screen.in-house #view-home .recCard--knowledge .rc-media{ height:176px; }
.screen.in-house #view-home .recCard--light .rc-foot{
  background:
    linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,255,255,.82));
  backdrop-filter: blur(14px) saturate(1.3);
  -webkit-backdrop-filter: blur(14px) saturate(1.3);
  border-top:1px solid rgba(255,255,255,.55);
}
.screen.in-house #view-home .recCard--overlay .rc-media{
  height:228px;
  border-radius: 28px 20px 26px 18px;
  box-shadow:
    0 20px 44px -16px rgba(21,42,54,.42),
    inset 0 1px 0 rgba(255,255,255,.2);
}
.screen.in-house #view-home .recCard--overlay .rc-overlay{
  padding:42px 14px 16px;
  background:
    linear-gradient(180deg,
      transparent 0%,
      rgba(15,28,40,.35) 38%,
      rgba(15,28,40,.78) 100%);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}

/* —— Room tiles · squircle-ish + richer glass bar —— */
.screen.in-house #view-home .homeRooms{ gap:14px; }
.screen.in-house #view-home .hrCard--tile{
  border-radius: 28px 22px 26px 20px;
  border: 1px solid rgba(255,255,255,.72);
  box-shadow:
    0 18px 42px -18px rgba(21,42,54,.32),
    inset 0 1px 0 rgba(255,255,255,.55);
}
.screen.in-house #view-home .hrCard--tile:nth-child(even){
  border-radius: 22px 28px 20px 26px;
}
.screen.in-house #view-home .hrCard--tile .hr-body--glass{
  padding:13px 13px 14px;
  background:
    linear-gradient(165deg, rgba(255,255,255,.5), rgba(255,255,255,.18)),
    rgba(245,248,252,.28);
  backdrop-filter: blur(28px) saturate(1.7) contrast(1.05);
  -webkit-backdrop-filter: blur(28px) saturate(1.7) contrast(1.05);
  border-top:1px solid rgba(255,255,255,.72);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.82),
    inset 0 -1px 0 rgba(255,255,255,.12),
    0 -12px 28px -12px rgba(26,51,80,.16);
}
.screen.in-house #view-home .hrCard--tile .hr-body--glass::before{
  content:"";
  position:absolute;
  left:10%;top:0;right:10%;height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.9), transparent);
  pointer-events:none;
}

/* —— Botnav · stronger liquid capsule —— */
.screen.in-house .botnav:not(.douyin){
  background:
    linear-gradient(160deg, rgba(255,255,255,.58), rgba(255,255,255,.28)),
    rgba(255,255,255,.36);
  border:1px solid rgba(255,255,255,.72);
  backdrop-filter: blur(28px) saturate(1.7) contrast(1.05);
  -webkit-backdrop-filter: blur(28px) saturate(1.7) contrast(1.05);
  box-shadow:
    0 16px 40px -14px rgba(21,42,54,.28),
    0 4px 14px -6px rgba(21,42,54,.1),
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 0 -1px 0 rgba(255,255,255,.18);
}
.screen.in-house .botnav:not(.douyin) .nav.plus .ni{
  background: linear-gradient(160deg, #2f5168 0%, #1a3350 50%, #122636 100%);
  border:1px solid rgba(255,255,255,.22);
  box-shadow:
    0 14px 32px -8px rgba(26,51,80,.58),
    0 4px 12px -4px rgba(26,51,80,.35),
    inset 0 1px 0 rgba(255,255,255,.32),
    inset 0 -1px 0 rgba(0,0,0,.12);
}

/* —— Library / me · glass surfaces —— */
.screen.in-house .libChip{
  background: var(--verso-glass-bg);
  border:1px solid rgba(255,255,255,.65);
  backdrop-filter: blur(16px) saturate(1.4);
  -webkit-backdrop-filter: blur(16px) saturate(1.4);
  box-shadow:
    0 6px 16px -10px rgba(26,51,80,.18),
    inset 0 1px 0 rgba(255,255,255,.9);
}
.screen.in-house .libChip.on{
  background: linear-gradient(160deg, #2a4a60, #1a3350);
  border-color: rgba(255,255,255,.18);
  box-shadow:
    0 10px 22px -10px rgba(26,51,80,.5),
    inset 0 1px 0 rgba(255,255,255,.25);
}
.screen.in-house .libCard{
  background: transparent;
  border: none;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  padding: 0;
  overflow: hidden;
  border-radius: 26px 20px 24px 18px;
}
.screen.in-house .libPanel{
  background: #ffffff !important;
  border: 1px solid rgba(31,58,74,.08) !important;
  border-radius: 26px 20px 24px 18px;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: var(--verso-shadow);
}
.screen.in-house .meList,
.screen.in-house .meList--secondary{
  background: var(--verso-glass-bg-strong);
  border:1px solid rgba(255,255,255,.7);
  backdrop-filter: blur(22px) saturate(1.45);
  -webkit-backdrop-filter: blur(22px) saturate(1.45);
  box-shadow: var(--verso-glass-shadow);
}
.screen.in-house .meStat{
  background: var(--verso-glass-bg);
  border:1px solid rgba(255,255,255,.65);
  backdrop-filter: blur(18px) saturate(1.35);
  -webkit-backdrop-filter: blur(18px) saturate(1.35);
  box-shadow:
    0 10px 28px -16px rgba(21,42,54,.22),
    inset 0 1px 0 rgba(255,255,255,.85);
}

/* —— Parse sheet · soft glass top —— */
.parseSheet.verso-skin{
  background:
    linear-gradient(180deg, rgba(255,255,255,.92) 0%, rgba(243,246,250,.96) 100%);
  border-top:1px solid rgba(255,255,255,.85);
  backdrop-filter: blur(24px) saturate(1.3);
  -webkit-backdrop-filter: blur(24px) saturate(1.3);
  box-shadow:
    0 -24px 56px -16px rgba(21,42,54,.32),
    inset 0 1px 0 rgba(255,255,255,.9);
}
.parseSheet.verso-skin .parseIn input{
  background: var(--verso-glass-bg);
  border:1px solid rgba(255,255,255,.7);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85);
}
.parseSheet.verso-skin .parseIn button{
  background: linear-gradient(160deg, #2f5168, #1a3350 55%, #122636);
  box-shadow:
    0 12px 28px -10px rgba(26,51,80,.55),
    inset 0 1px 0 rgba(255,255,255,.28);
}
.parseSheet.verso-skin .parseStep{
  background: var(--verso-glass-bg);
  border:1px solid rgba(255,255,255,.65);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

/* —— Desktop chrome —— */
.controls .ctrl.primary{
  background: linear-gradient(160deg, #2f5168, #1a3350) !important;
  border:1px solid rgba(255,255,255,.2);
  color:#fff !important;
  box-shadow:
    0 12px 28px -10px rgba(26,51,80,.45),
    inset 0 1px 0 rgba(255,255,255,.25);
}
.controls .ctrl:not(.primary){
  background:
    linear-gradient(145deg, rgba(255,255,255,.7), rgba(255,255,255,.35)),
    rgba(255,255,255,.5);
  border:1px solid rgba(255,255,255,.75);
  backdrop-filter: blur(16px) saturate(1.3);
  -webkit-backdrop-filter: blur(16px) saturate(1.3);
  box-shadow:
    0 8px 22px -12px rgba(21,42,54,.2),
    inset 0 1px 0 rgba(255,255,255,.9);
}

/* —— Reduced motion / transparency —— */
@media (prefers-reduced-motion: reduce){
  .screen.in-house #view-home .recentRail.is-ready .recentTrack{
    animation:none !important;
  }
  .screen.in-house #view-home .recentRail{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    -webkit-mask-image:none;
    mask-image:none;
  }
  .screen.in-house #view-home .recentTrack{
    width:max-content;
  }
}
@media (prefers-reduced-transparency: reduce){
  .screen.in-house #view-home .searchBar,
  .screen.in-house #view-home .catChip .cl,
  .screen.in-house #view-home .hrCard--tile .hr-body--glass,
  .screen.in-house .botnav:not(.douyin),
  .screen.in-house .libChip,
  .screen.in-house .libCard,
  .screen.in-house .meList,
  .screen.in-house .meList--secondary,
  .screen.in-house .meStat{
    background: rgba(255,255,255,.96);
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){
  .screen.in-house #view-home .searchBar,
  .screen.in-house #view-home .catChip .cl,
  .screen.in-house #view-home .hrCard--tile .hr-body--glass,
  .screen.in-house .botnav:not(.douyin){
    background: rgba(255,255,255,.92);
  }
}

/* ============================================================
   Parse Sheet · cold-mist hero + floating glass card (compact)
   Layout matches design ref: mist top / IP peek / inset white card
   Height stays compact — does NOT stretch to full screen
   ============================================================ */

.parseSheet.verso-skin{
  position:absolute;
  left:0;right:0;bottom:0;
  top:auto !important;
  height:auto !important;
  max-height:78% !important;
  z-index:310;
  padding:0 0 22px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  overflow:visible !important;
  color:#1a3350;
  background:transparent !important;
  border:none !important;
  border-radius:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

/* Cold mist stage behind the floating card — distinctive icy band */
.parseSheet.verso-skin .parseMist{
  position:absolute;
  left:0;right:0;
  bottom:0;
  top:0;
  z-index:0;
  pointer-events:none;
  border-radius:32px 32px 0 0;
  background:
    radial-gradient(ellipse 100% 80% at 20% -5%, rgba(140,195,230,.7), transparent 50%),
    radial-gradient(ellipse 80% 60% at 95% 10%, rgba(190,220,240,.55), transparent 48%),
    radial-gradient(ellipse 70% 50% at 50% 35%, rgba(255,255,255,.55), transparent 65%),
    linear-gradient(180deg,
      #b5d4ea 0%,
      #cfe4f3 18%,
      #e4f0f8 40%,
      #f3f8fc 62%,
      #ffffff 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}

.parseSheet.verso-skin .parseHero{
  position:relative;
  z-index:2;
  flex:none;
  min-height:142px;
  padding:20px 16px 16px;
  text-align:center;
}
.parseSheet.verso-skin .parseBrand{
  font-family:var(--font-ui);
  font-size:16px;
  font-weight:800;
  letter-spacing:.22em;
  color:#1a3350;
  line-height:1;
  margin:0 auto 12px;
}
.parseSheet.verso-skin .parse-ip{
  position:absolute;
  left:12px;
  bottom:-7px;
  width:76px;
  height:76px;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 14px 22px rgba(26,51,80,.25));
  pointer-events:none;
  z-index:5;
}
.parseSheet.verso-skin .parseHeroCopy{
  position:relative;
  z-index:1;
  margin:0 auto;
  padding:0;
  text-align:center;
}
.parseSheet.verso-skin .parseHeroCopy h3,
.parseSheet.verso-skin h3{
  font-family:var(--font-ui) !important;
  font-size:18px !important;
  font-weight:800 !important;
  letter-spacing:-.02em;
  line-height:1.3;
  color:#1a3350 !important;
  margin:0 0 6px !important;
}
.parseSheet.verso-skin .psub{
  width:min(200px,100%);
  font-size:12px;
  font-weight:500;
  line-height:1.45;
  color:rgba(26,51,80,.48) !important;
  margin:0 auto;
  text-align:center;
}
.parseSheet.verso-skin .parse-ip.is-think{
  animation:versoThink 1.1s ease-in-out infinite;
}

/* Floating white glass sheet — inset, 40px radius, compact */
.parseSheet.verso-skin .parseCard{
  position:relative;
  z-index:1;
  flex:none;
  margin:0 14px 0;
  padding:18px 16px 15px;
  border-radius:40px;
  background:#ffffff;
  border:1px solid rgba(255,255,255,1);
  box-shadow:
    0 22px 50px -18px rgba(21,42,54,.3),
    0 6px 18px -8px rgba(21,42,54,.12),
    inset 0 1px 0 rgba(255,255,255,1);
}

.parseSheet.verso-skin .grip2,
.parseSheet.verso-skin .ph,
.parseSheet.verso-skin .parseAura,
.parseSheet.verso-skin .ph-row,
.parseSheet.verso-skin .ph-copy{ display:none !important; }

.parseSheet.verso-skin .parseIn{
  margin:0 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:11px !important;
  padding:0 !important;
}
.parseSheet.verso-skin .parseField{
  position:relative;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 14px 0 12px;
  min-height:48px;
  border-radius:16px;
  background:#f2f5f8;
  border:1px solid rgba(26,51,80,.08);
  box-shadow: inset 0 1px 2px rgba(26,51,80,.04);
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
  cursor:pointer;
}
.parseSheet.verso-skin .parseField:focus-within{
  border-color:rgba(26,51,80,.2);
  background:#fff;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    0 0 0 3px rgba(26,51,80,.07);
}
.parseSheet.verso-skin .parseField.is-drag{
  border-color:rgba(26,51,80,.35);
  background:#eef4f9;
  box-shadow: 0 0 0 3px rgba(26,51,80,.1);
}
.parseSheet.verso-skin .parseField.has-file{
  background:#fff;
  border-color:rgba(26,51,80,.18);
}
.parseSheet.verso-skin .parseField.is-busy{
  cursor:progress;
  opacity:.72;
  pointer-events:none;
}
.parseSheet.verso-skin .parseField.has-file .parseUploadCopy{
  display:none;
}
.parseSheet.verso-skin .parseField.has-file #parseUrl{
  display:none;
}
.parseSheet.verso-skin .parseFileName{
  flex:1;
  min-width:0;
  font-size:13px;
  font-weight:600;
  color:#1a3350;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.parseSheet.verso-skin .parseComposerTools > .parseFileName{ display:none; }
/* 已选状态文案在独立 meta 行，避免与格式提示挤在同一行重叠 */
.parseSheet.verso-skin .parseComposer.has-file .parseComposerTools > small,
.parseSheet.verso-skin .parseComposer.has-selection-meta .parseComposerTools > small{
  display:none;
}
.parseSheet.verso-skin .parseUploadIcon{
  flex:none;
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:10px;
  color:#fff;
  background:#1a3350;
  font-size:20px;
  font-weight:400;
  line-height:1;
}
.parseSheet.verso-skin .parseUploadCopy{
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
  color:#1a3350;
}
.parseSheet.verso-skin .parseUploadCopy b{
  font-size:13px;
  font-weight:700;
}
.parseSheet.verso-skin .parseUploadCopy small{
  font-size:10px;
  color:rgba(26,51,80,.5);
}
.parseSheet.verso-skin .parseLinkIcon{
  flex:none;
  width:17px;height:17px;
  position:relative;
  opacity:.4;
}
.parseSheet.verso-skin .parseLinkIcon::before,
.parseSheet.verso-skin .parseLinkIcon::after{
  content:"";
  position:absolute;
  width:8px;height:8px;
  border:1.7px solid #1a3350;
  border-radius:2.5px;
}
.parseSheet.verso-skin .parseLinkIcon::before{
  left:0;top:2px;
  transform:rotate(-35deg);
}
.parseSheet.verso-skin .parseLinkIcon::after{
  right:0;bottom:2px;
  transform:rotate(-35deg);
}
.parseSheet.verso-skin .parseIn input{
  flex:1;
  width:100%;
  min-width:0;
  border:none !important;
  background:transparent !important;
  box-shadow:none !important;
  padding:12px 0 !important;
  border-radius:0 !important;
  font-size:13px;
  font-weight:500;
  color:#1a3350 !important;
  outline:none;
}
.parseSheet.verso-skin .parseIn input::placeholder{
  color:rgba(26,51,80,.36);
}
.parseSheet.verso-skin .parseIn button{
  width:100% !important;
  height:48px;
  border:none !important;
  border-radius:16px !important;
  padding:0 !important;
  font-family:var(--font-ui) !important;
  font-size:16px !important;
  font-weight:750 !important;
  color:#fff !important;
  cursor:pointer;
  background:linear-gradient(180deg, #243f58 0%, #1a3350 55%, #122636 100%) !important;
  box-shadow:
    0 12px 24px -10px rgba(26,51,80,.5),
    inset 0 1px 0 rgba(255,255,255,.22) !important;
}
.parseSheet.verso-skin .parseIn button:active{
  transform:scale(.985) translateY(1px);
}

/* Parse request · a single conversational composer with inline attachments */
.parseSheet.verso-skin .parseRequest{
  margin:0 0 12px !important;
}
.parseSheet.verso-skin .parseRequest > label{
  display:flex;
  align-items:center;
  gap:7px;
  margin:0 0 7px;
  font-size:12px;
  font-weight:750;
  color:#1a3350;
}
.parseSheet.verso-skin .parseRequest > label span{
  font-size:10px;
  font-weight:550;
  color:rgba(26,51,80,.48);
}
.parseSheet.verso-skin .parseComposer{
  overflow:hidden;
  border:1px solid rgba(26,51,80,.13);
  border-radius:18px;
  background:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 8px 20px -17px rgba(21,42,54,.35);
  transition:border-color .18s ease,box-shadow .18s ease;
}
.parseSheet.verso-skin .parseComposer:focus-within,
.parseSheet.verso-skin .parseComposer.is-drag{
  border-color:rgba(26,51,80,.34);
  box-shadow:0 0 0 3px rgba(26,51,80,.08);
}
.parseSheet.verso-skin .parseLinkImport{
  display:flex;
  gap:7px;
  align-items:stretch;
  margin:10px 12px 8px;
  padding:9px 11px;
  border:1px solid rgba(26,51,80,.09);
  border-radius:12px;
  background:#f4f8fb;
}
.parseSheet.verso-skin .parseLinkImport textarea,
.parseSheet.verso-skin .parseLinkImport input{
  min-width:0;
  width:100%;
  flex:1;
  border:0;
  outline:0;
  background:transparent;
  color:#1a3350;
  font:500 12px/1.4 var(--font-ui);
  resize:none;
}
.parseSheet.verso-skin .parseLinkImport textarea{ min-height:38px; }
.parseSheet.verso-skin .parseLinkImport textarea::placeholder,
.parseSheet.verso-skin .parseLinkImport input::placeholder{ color:rgba(26,51,80,.4); }
.parseSheet.verso-skin .parseLinkImport input:disabled,
.parseSheet.verso-skin .parseLinkImport textarea:disabled{ opacity:.56; }
.parseSheet.verso-skin .parseSelectedFiles{
  display:flex;
  gap:7px;
  overflow-x:auto;
  padding:0 12px 8px;
}
.parseSheet.verso-skin .parseSelectionMeta{
  margin:0 12px 8px;
  padding:7px 10px;
  border-radius:10px;
  background:#eef4f9;
  color:#1a3350;
  font:650 11px/1.35 var(--font-ui);
}
.parseSheet.verso-skin .parseSelectionMeta[hidden]{ display:none; }
.parseSheet.verso-skin .parseFilePreview{
  display:flex;
  align-items:center;
  gap:8px;
  flex:0 0 min(205px,72%);
  min-width:0;
  padding:6px;
  border-radius:11px;
  background:#eef4f9;
}
.parseSheet.verso-skin .parseFilePreview:only-child{flex-basis:100%;}
.parseSheet.verso-skin .parseFilePreview video{
  width:42px;
  height:34px;
  flex:none;
  object-fit:cover;
  border-radius:7px;
  background:#1a3350;
}
.parseSheet.verso-skin .parseFilePreviewCopy{ min-width:0;display:flex;flex-direction:column;gap:1px; }
.parseSheet.verso-skin .parseFilePreviewCopy b{
  overflow:hidden;
  color:#1a3350;
  font-size:11px;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.parseSheet.verso-skin .parseFilePreviewCopy small{ color:rgba(26,51,80,.5);font-size:10px; }
.parseSheet.verso-skin .parseFileRemove{
  width:24px;height:24px;flex:none;border:0;border-radius:50%;
  background:rgba(26,51,80,.09);color:#1a3350;font:700 16px/1 var(--font-ui);cursor:pointer;
}
.parseSheet.verso-skin .parseFileRemove:hover,.parseSheet.verso-skin .parseFileRemove:focus-visible{background:#1a3350;color:#fff;outline:none;}
.parseSheet.verso-skin .parseComposerTools{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:45px;
  padding:7px 8px;
  border-top:1px solid rgba(26,51,80,.08);
  background:#f7f9fb;
}
.parseSheet.verso-skin .parseAttach{
  display:inline-flex;
  align-items:center;
  gap:5px;
  flex:none;
  border:0;
  border-radius:10px;
  padding:8px 9px;
  background:#e5eef5;
  color:#1a3350;
  font:750 11px/1 var(--font-ui);
  cursor:pointer;
}
.parseSheet.verso-skin .parseAttach span{ font-size:16px;font-weight:400;line-height:.65; }
.parseSheet.verso-skin .parseComposerTools > small{
  flex:1;
  min-width:0;
  color:rgba(26,51,80,.42);
  font-size:9.5px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.parseSheet.verso-skin .parseComposerTools #parseGo{
  width:auto !important;
  height:32px;
  flex:none;
  margin-left:auto;
  border-radius:10px !important;
  padding:0 12px !important;
  font-size:12px !important;
}
.parseSheet.verso-skin .parseComposerTools .parseCancel{
  width:auto;height:32px;flex:none;border:1px solid rgba(26,51,80,.17);border-radius:10px;
  padding:0 10px;background:#fff;color:#1a3350;font:700 11px/1 var(--font-ui);cursor:pointer;
  margin-left:auto;
}
.parseSheet.verso-skin .parseComposerTools .parseCancel:not([hidden]) ~ #parseGo{
  margin-left:0;
}
.parseSheet.verso-skin .parseComposerTools .parseCancel:hover,
.parseSheet.verso-skin .parseComposerTools .parseCancel:focus-visible{
  border-color:#1a3350;outline:none;
}

.parseSheet.verso-skin .parseChips{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  padding:10px 0 0;
}
.parseSheet.verso-skin .parseChips .pc{
  font-size:12px;
  font-weight:550;
  padding:7px 12px;
  text-align:center;
  white-space:nowrap;
  border-radius:999px;
  color:#1a3350 !important;
  background:rgba(242,245,248,.95) !important;
  border:1px solid rgba(26,51,80,.06) !important;
  box-shadow:none;
  cursor:pointer;
}
.parseSheet.verso-skin:has(.parseProg.on) .parseChips{
  display:none;
}

.parseSheet.verso-skin .parseProg{
  margin:14px 0 0;
  display:none;
}
.parseSheet.verso-skin .parseProg.on{ display:block; }
.parseSheet.verso-skin .parseProg .pmsg{
  font-size:13px;
  font-weight:700;
  color:#1a3350 !important;
  margin:0 0 9px !important;
}
.parseSheet.verso-skin .parseProg .pbar{
  height:6px;
  border-radius:99px;
  background:rgba(26,51,80,.08) !important;
  overflow:hidden;
}
.parseSheet.verso-skin .parseProg .pbar>i{
  display:block;
  height:100%;
  width:0;
  border-radius:99px;
  background:#1a3350 !important;
  transition:width .3s var(--verso-spring);
}
.parseSheet.verso-skin .parseQueue{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-top:10px;
}
.parseSheet.verso-skin .parseQueueItem{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:28px;
  padding:6px 9px;
  border-radius:10px;
  background:rgba(26,51,80,.05);
  color:rgba(26,51,80,.62);
  font-size:10.5px;
}
.parseSheet.verso-skin .parseQueueName{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.parseSheet.verso-skin .parseQueueStatus{
  flex:none;
  font-weight:700;
  color:#1a3350;
}
.parseSheet.verso-skin .parseQueueItem.is-ready,
.parseSheet.verso-skin .parseQueueItem.is-saved{
  background:rgba(54,132,93,.09);
}
.parseSheet.verso-skin .parseQueueItem.is-failed{
  background:rgba(182,65,65,.09);
}

.parseSheet.verso-skin .parseSteps{
  display:grid !important;
  grid-template-columns:1fr 1fr 1fr;
  gap:8px;
  padding:14px 0 0;
  position:relative;
}
.parseSheet.verso-skin .parseSteps::before{
  content:"";
  position:absolute;
  left:16%;
  right:16%;
  top:40px;
  border-top:1.5px dashed rgba(26,51,80,.14);
  z-index:0;
  pointer-events:none;
}
.parseSheet.verso-skin .parseStep{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:12px 8px 10px;
  border-radius:14px !important;
  background:#fff !important;
  border:1px solid rgba(26,51,80,.08) !important;
  box-shadow:0 6px 16px -12px rgba(21,42,54,.18) !important;
  text-align:left;
}
.parseSheet.verso-skin .parseStep.is-active{
  background:#eef4f9 !important;
  box-shadow:inset 0 0 0 1px rgba(26,51,80,.16) !important;
}
.parseSheet.verso-skin .parseStep.is-done{
  opacity:.62;
}
.parseSheet.verso-skin .parseStep.is-done .ps-n{
  font-size:0 !important;
}
.parseSheet.verso-skin .parseStep.is-done .ps-n::after{
  content:"✓";
  color:#fff;
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  font-size:10px;
}

@media (max-width:600px), (hover:none) and (pointer:coarse){
  .dm.user,
  .act .ic,
  .dmbar,
  .feedHint{
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }
}
.parseSheet.verso-skin .parseStep .ps-n{
  position:absolute;
  left:7px;top:7px;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  width:17px;height:17px;
  border-radius:50%;
  background:#1a3350 !important;
  color:#fff !important;
  font-size:9.5px;
  font-weight:800;
  margin:0 !important;
}
.parseSheet.verso-skin .parseStep .ps-ico{
  display:block;
  width:20px;height:20px;
  margin:4px 0 6px 2px;
  position:relative;
  color:#1a3350;
}
.parseSheet.verso-skin .ps-ico--frames{
  border:1.7px solid currentColor;
  border-radius:3px;
  box-sizing:border-box;
}
.parseSheet.verso-skin .ps-ico--frames::before,
.parseSheet.verso-skin .ps-ico--frames::after{
  content:"";
  position:absolute;
  top:3px;bottom:3px;
  width:1.5px;
  background:currentColor;
}
.parseSheet.verso-skin .ps-ico--frames::before{ left:4px; }
.parseSheet.verso-skin .ps-ico--frames::after{ right:4px; }
.parseSheet.verso-skin .ps-ico--spark::before{
  content:"";
  position:absolute;
  left:50%;top:50%;
  width:13px;height:13px;
  margin:-6.5px 0 0 -6.5px;
  background:currentColor;
  clip-path:polygon(50% 0%,61% 35%,100% 50%,61% 65%,50% 100%,39% 65%,0% 50%,39% 35%);
}
.parseSheet.verso-skin .ps-ico--card{
  border:1.7px solid currentColor;
  border-radius:3px;
  box-sizing:border-box;
}
.parseSheet.verso-skin .ps-ico--card::before,
.parseSheet.verso-skin .ps-ico--card::after{
  content:"";
  position:absolute;
  left:3px;right:3px;
  height:1.5px;
  background:currentColor;
  opacity:.75;
}
.parseSheet.verso-skin .ps-ico--card::before{ top:6px; }
.parseSheet.verso-skin .ps-ico--card::after{ top:11px; width:50%; right:auto; }
.parseSheet.verso-skin .parseStep .ps-t{
  font-size:12px !important;
  font-weight:750 !important;
  color:#1a3350 !important;
  margin:0;
}
.parseSheet.verso-skin .parseStep .ps-d{
  font-size:10px !important;
  font-weight:500;
  color:rgba(26,51,80,.45) !important;
  margin-top:2px !important;
  line-height:1.3;
}

.parseSheet.verso-skin .parseDanmakuFocus{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin:0 0 14px;
}
.parseSheet.verso-skin .parseDanmakuFocus[hidden]{ display:none !important; }
.parseSheet.verso-skin .parseDanmakuFile{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  border-radius:16px;
  background:rgba(26,51,80,.05);
  border:1px solid rgba(26,51,80,.08);
}
.parseSheet.verso-skin .parseDanmakuFile .pdf-ico{
  width:36px;
  height:36px;
  border-radius:12px;
  flex:none;
  background:
    linear-gradient(145deg,rgba(31,58,74,.92),rgba(26,51,80,.78)),
    radial-gradient(circle at 35% 30%,rgba(255,255,255,.35),transparent 55%);
  box-shadow:0 6px 14px -8px rgba(26,51,80,.55);
  position:relative;
}
.parseSheet.verso-skin .parseDanmakuFile .pdf-ico::before,
.parseSheet.verso-skin .parseDanmakuFile .pdf-ico::after{
  content:"";
  position:absolute;
  background:rgba(255,255,255,.88);
}
.parseSheet.verso-skin .parseDanmakuFile .pdf-ico::before{
  left:12px; right:12px; top:11px; bottom:11px;
  border-radius:3px;
  opacity:.9;
}
.parseSheet.verso-skin .parseDanmakuFile .pdf-ico::after{
  width:0; height:0;
  left:15px; top:13px;
  border-style:solid;
  border-width:5px 0 5px 8px;
  border-color:transparent transparent transparent rgba(26,51,80,.85);
  background:none;
}
.parseSheet.verso-skin .parseDanmakuFile .pdf-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.parseSheet.verso-skin .parseDanmakuFile .pdf-copy b{
  font-size:13px;
  font-weight:700;
  color:var(--verso-navy-deep,#1a3350);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.parseSheet.verso-skin .parseDanmakuFile .pdf-copy small{
  font-size:11px;
  color:rgba(26,51,80,.55);
  line-height:1.35;
}
.parseSheet.verso-skin .parseDanmakuHint{
  margin:0;
  font-size:12px;
  line-height:1.5;
  color:rgba(26,51,80,.58);
}
.parseSheet.verso-skin[data-mode="danmaku"] .parseRequest,
.parseSheet.verso-skin[data-mode="danmaku"] .parseChips{
  display:none !important;
}
.parseSheet.verso-skin[data-mode="danmaku"] .parseProg{
  margin-top:2px;
}
.parseSheet.verso-skin[data-mode="danmaku"] .parseStep.is-active{
  border-color:rgba(31,58,74,.22);
  background:rgba(31,58,74,.06);
}

/* Softer navy scrim on light in-house pages (not pure black 50%) */
.screen.in-house .scrim{
  background:rgba(26,51,80,.22);
}
.screen:has(.parseSheet.verso-skin.open) .scrim.show,
.screen:has(.sheet.open) .scrim.show,
.screen:has(.furnSheet.open) .scrim.show,
.screen:has(.roomSheet.open) .scrim.show,
.screen:has(.genRoomSheet.open) .scrim.show,
.screen:has(.todoDetailSheet.open) .scrim.show{
  background:rgba(26,51,80,.18);
}
/* Feed companion sheet keeps a bit more contrast over video */
.screen:not(.in-house):has(.roleSheet.open) .scrim.show,
.screen:not(.in-house):has(.panel.open) .scrim.show{
  background:rgba(0,0,0,.36);
}

@media (prefers-reduced-transparency: reduce){
  .parseSheet.verso-skin .parseCard,
  .parseSheet.verso-skin .parseField,
  .parseSheet.verso-skin .parseStep{
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    background:#fff !important;
  }
}
@media (prefers-reduced-motion: reduce){
  .parseSheet.verso-skin .parse-ip.is-think{ animation:none !important; }
}

/* ============================================================
   VERSO Motion System · MOTION 6 / Cold Luxury spring
   Motivated only: hierarchy · state · feedback · IP persona
   ============================================================ */

.screen.in-house{
  --ease-out: var(--verso-ease-spring);
  --dur: var(--verso-dur-ui);
}

/* Sheets · unified spring duration */
.screen.in-house .parseSheet,
.screen.in-house .sheet,
.screen.in-house .panel,
.screen.in-house .roomSheet,
.screen.in-house .roleSheet,
.screen.in-house .furnSheet,
.screen.in-house .meshSheet{
  transition:
    transform var(--verso-dur-sheet) var(--verso-ease-spring),
    opacity var(--verso-dur-ui) var(--verso-ease-soft);
}
.screen.in-house .scrim{
  transition: opacity var(--verso-dur-ui) var(--verso-ease-soft);
}

/* Sheet content choreography (triggered by .sheet-enter) */
.sheet-enter .parseBrand,
.sheet-enter .parseHeroCopy,
.sheet-enter .parseCard > *,
.sheet-enter .ph,
.sheet-enter .panelBody > *,
.sheet-enter .rs-item,
.sheet-enter .roleItem{
  animation: versoSheetRise var(--verso-dur-enter) var(--verso-ease-spring) both;
}
.sheet-enter .parseBrand{ animation-delay: 40ms; }
.sheet-enter .parse-ip.is-greet,
.sheet-enter #parseIp.is-greet{ animation-delay: 80ms; }
.sheet-enter .parseHeroCopy{ animation-delay: 120ms; }
.sheet-enter .parseCard > *:nth-child(1){ animation-delay: 160ms; }
.sheet-enter .parseCard > *:nth-child(2){ animation-delay: 220ms; }
.sheet-enter .parseCard > *:nth-child(3){ animation-delay: 260ms; }
.sheet-enter .parseCard > *:nth-child(4){ animation-delay: 300ms; }

/* IP greet · one-shot wave when parse opens */
.parseSheet.verso-skin .parse-ip.is-greet{
  animation: versoGreet .65s var(--verso-ease-spring) both;
}
.verso-mascot.is-greet img{
  animation: versoGreet .65s var(--verso-ease-spring) both;
}

/* Press · tactile push (feedback) */
.screen.in-house .parseIn button,
.screen.in-house .parseChips .pc,
.screen.in-house .libChip,
.screen.in-house .catChip .cl,
.screen.in-house .hrCard,
.screen.in-house .libCard,
.screen.in-house .todoItem,
.screen.in-house .meRow,
.screen.in-house .botnav:not(.douyin) .nav{
  transition:
    transform var(--verso-dur-press) var(--verso-ease-soft),
    background var(--verso-dur-ui) var(--verso-ease-soft),
    border-color var(--verso-dur-ui) var(--verso-ease-soft),
    color var(--verso-dur-ui) var(--verso-ease-soft),
    box-shadow var(--verso-dur-ui) var(--verso-ease-soft);
}
.screen.in-house .parseIn button:active,
.screen.in-house .parseChips .pc:active,
.screen.in-house .libChip:active,
.screen.in-house .catChip .cl:active,
.screen.in-house .hrCard:active,
.screen.in-house .libCard:active,
.screen.in-house .todoItem:active,
.screen.in-house .meRow:active{
  transform: scale(.985);
}
.screen.in-house .parseIn button:active{
  transform: scale(.97) translateY(1px);
}

/* View enter · hierarchy */
.screen.in-house .view.view-enter .secHead,
.screen.in-house .view.view-enter .hrCard,
.screen.in-house .view.view-enter .libCard,
.screen.in-house .view.view-enter .todoItem,
.screen.in-house .view.view-enter .receiptCard,
.screen.in-house .view.view-enter .recCard,
.screen.in-house .view.view-enter .roomBigCard{
  animation: versoSheetRise var(--verso-dur-enter) var(--verso-ease-spring) both;
}
.screen.in-house .view.view-enter .hrCard:nth-child(1),
.screen.in-house .view.view-enter .libCard:nth-child(1),
.screen.in-house .view.view-enter .todoItem:nth-child(1),
.screen.in-house .view.view-enter .receiptCard:nth-child(1){ animation-delay: 40ms; }
.screen.in-house .view.view-enter .hrCard:nth-child(2),
.screen.in-house .view.view-enter .libCard:nth-child(2),
.screen.in-house .view.view-enter .todoItem:nth-child(2),
.screen.in-house .view.view-enter .receiptCard:nth-child(2){ animation-delay: 80ms; }
.screen.in-house .view.view-enter .hrCard:nth-child(3),
.screen.in-house .view.view-enter .libCard:nth-child(3),
.screen.in-house .view.view-enter .todoItem:nth-child(3),
.screen.in-house .view.view-enter .receiptCard:nth-child(3){ animation-delay: 120ms; }
.screen.in-house .view.view-enter .hrCard:nth-child(4),
.screen.in-house .view.view-enter .libCard:nth-child(4),
.screen.in-house .view.view-enter .todoItem:nth-child(4),
.screen.in-house .view.view-enter .receiptCard:nth-child(4){ animation-delay: 160ms; }

/* Parse progress · navy fill + soft shine (state) */
.parseSheet.verso-skin .parseProg .pbar>i{
  background:
    linear-gradient(90deg,
      transparent 0%,
      rgba(255,255,255,.35) 48%,
      transparent 100%),
    linear-gradient(90deg, #2f5168, #1a3350 70%, #152a36) !important;
  background-size: 180% 100%, 100% 100%;
  transition: width .32s var(--verso-ease-soft) !important;
}
.parseSheet.verso-skin .parseProg.on .pbar>i{
  animation: versoProgShine 1.4s var(--verso-ease-soft) infinite;
}

/* Toast · soft rise · 必须高于清单弹层(320) */
.toast,
.screen.in-house .toast{
  z-index: 500 !important;
  transition:
    opacity var(--verso-dur-ui) var(--verso-ease-soft),
    transform var(--verso-dur-enter) var(--verso-ease-spring);
}

@media (prefers-reduced-motion: reduce){
  .rail-ip,
  .verso-mascot.is-think,
  .verso-mascot.is-greet img,
  .parseSheet.verso-skin .parse-ip.is-greet,
  .parseSheet.verso-skin .parse-ip.is-think,
  .parseSheet.verso-skin .parseProg.on .pbar>i,
  .sheet-enter .parseBrand,
  .sheet-enter .parseHeroCopy,
  .sheet-enter .parseCard > *,
  .screen.in-house .view.view-enter .secHead,
  .screen.in-house .view.view-enter .hrCard,
  .screen.in-house .view.view-enter .libCard,
  .screen.in-house .view.view-enter .todoItem,
.screen.in-house .view.view-enter .receiptCard,
  .screen.in-house .view.view-enter .recCard,
  .screen.in-house .view.view-enter .roomBigCard,
  .screen.in-house .view.view-enter .inspoCard,
  .prop-hit.prop-rise,
  .inspoCheck.is-pop,
  .sheet.sheet-from-pin.open,
  .furnSheet.sheet-from-pin.open,
  .save-fly{
    animation: none !important;
  }
  .screen.in-house .parseSheet,
  .screen.in-house .sheet,
  .screen.in-house .panel,
  .screen.in-house .roomSheet,
  .screen.in-house .roleSheet,
  .screen.in-house .furnSheet,
  .screen.in-house .meshSheet,
  .screen.in-house .botnav:not(.douyin) .nav-slider,
  .screen.in-house .inspoGen::before{
    transition: none !important;
  }
  .screen.in-house .inspoGen.is-armed::before{
    transform: none;
    background: linear-gradient(160deg,#2f5168,#1a3350);
  }
}

/* ============================================================
   High-value motion pack · library / room / save / botnav
   ============================================================ */

@keyframes versoCheckPop{
  0%{ transform: scale(.7); }
  55%{ transform: scale(1.18); }
  100%{ transform: scale(1); }
}
@keyframes versoPropRise{
  from{ opacity:0; transform:translate(-50%,-50%) scale(.45); }
  to{ opacity:1; transform:translate(-50%,-50%) scale(1); }
}
@keyframes versoSheetGrow{
  from{
    transform: translateY(72%) scale(.88);
    opacity: 0;
  }
  to{
    transform: translateY(0) scale(1);
    opacity: 1;
  }
}

/* Botnav · per-label underline (below text, not through it) */
.screen.in-house .botnav:not(.douyin) .nav-slider{
  display:none !important;
}
.screen.in-house .botnav:not(.douyin) .nav.nav-bump .ni,
.screen.in-house .botnav:not(.douyin) .nav.plus.nav-bump .ni{
  animation: versoCheckPop .42s var(--verso-ease-spring);
}

/* Sheet grow from room pin */
.sheet.sheet-from-pin.open.sheet-enter,
.furnSheet.sheet-from-pin.open.sheet-enter{
  transform-origin: var(--pin-ox, 50%) var(--pin-oy, 78%);
  animation: versoSheetGrow .5s var(--verso-ease-spring) both;
}

/* Room hotspot rise */
.prop-hit.prop-rise{
  opacity:0;
  animation: versoPropRise .48s var(--verso-ease-spring) forwards;
  animation-delay: calc(.18s + var(--i, 0) * 70ms);
}

/* Library / inspo list · longer stagger */
.screen.in-house .view.view-enter .inspoCard{
  animation: versoSheetRise var(--verso-dur-enter) var(--verso-ease-spring) both;
}
.screen.in-house .view.view-enter .libCard:nth-child(5),
.screen.in-house .view.view-enter .inspoCard:nth-child(5),
.screen.in-house .view.view-enter .todoItem:nth-child(5){ animation-delay: 200ms; }
.screen.in-house .view.view-enter .libCard:nth-child(6),
.screen.in-house .view.view-enter .inspoCard:nth-child(6),
.screen.in-house .view.view-enter .todoItem:nth-child(6){ animation-delay: 240ms; }
.screen.in-house .view.view-enter .libCard:nth-child(7),
.screen.in-house .view.view-enter .inspoCard:nth-child(7){ animation-delay: 280ms; }
.screen.in-house .view.view-enter .libCard:nth-child(8),
.screen.in-house .view.view-enter .inspoCard:nth-child(8){ animation-delay: 320ms; }
.screen.in-house .view.view-enter .inspoCard:nth-child(1){ animation-delay: 40ms; }
.screen.in-house .view.view-enter .inspoCard:nth-child(2){ animation-delay: 80ms; }
.screen.in-house .view.view-enter .inspoCard:nth-child(3){ animation-delay: 120ms; }
.screen.in-house .view.view-enter .inspoCard:nth-child(4){ animation-delay: 160ms; }

/* Save fly polish */
.save-fly{
  border:1.5px solid rgba(255,255,255,.85);
  background:#1a3350;
}

/* Mobile browser chrome is already supplied by the device. Keep only the app UI. */
@media(max-width:600px), (max-width:1000px) and (max-height:600px), (hover:none) and (pointer:coarse){
  .screen.in-house .parseSheet.verso-skin{
    top:auto !important;
    height:auto !important;
    max-height:calc(100% - 72px) !important;
    padding:0 0 max(18px,env(safe-area-inset-bottom)) !important;
    justify-content:flex-start;
    overflow-y:auto !important;
    overscroll-behavior:contain;
  }
  .screen.in-house .parseSheet.verso-skin .parseMist{border-radius:28px 28px 0 0;}
  .screen.in-house .parseSheet.verso-skin .parseHero{min-height:154px;padding:16px 16px 14px;}
  .screen.in-house .parseSheet.verso-skin .parseCard{margin-bottom:16px;}
}

/* ============================================================
   Mesh sheet · Cold Luxury choose mode (redesign-preserve)
   Dials: V7 · M6 · D3 · asymmetric primary/secondary, no equal cards
   ============================================================ */
.screen.in-house .meshSheet{
  position:absolute !important;
  top:auto !important;
  left:10px;
  right:10px;
  bottom:88px !important;
  padding:10px 14px 16px;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.72);
  background:
    linear-gradient(165deg, rgba(255,255,255,.94), rgba(255,255,255,.76)),
    rgba(244,248,252,.9);
  backdrop-filter:blur(22px) saturate(1.2);
  -webkit-backdrop-filter:blur(22px) saturate(1.2);
  box-shadow:
    0 22px 48px -18px rgba(26,51,80,.28),
    0 6px 18px -10px rgba(26,51,80,.12),
    inset 0 1px 0 rgba(255,255,255,.95);
  color:#1a3350;
  overflow:hidden;
}
.screen.in-house .meshSheet .grip2{
  width:36px;
  height:4px;
  margin:2px auto 10px;
  border-radius:99px;
  background:rgba(26,51,80,.16);
}
.screen.in-house .meshSheet h3{
  margin:0;
  font-family:var(--font-ui),system-ui,sans-serif;
  font-size:19px;
  font-weight:800;
  letter-spacing:-.03em;
  color:#1a3350;
  line-height:1.2;
}
.screen.in-house .meshSheet .meshClose{
  position:absolute;
  top:12px;
  right:12px;
  float:none;
  width:32px;
  height:32px;
  border:1px solid rgba(26,51,80,.1);
  border-radius:50%;
  background:rgba(255,255,255,.88);
  color:#5a6f96;
  font-size:14px;
  box-shadow:0 4px 12px -8px rgba(26,51,80,.3);
  z-index:2;
}
.screen.in-house .meshSheet .meshClose:hover,
.screen.in-house .meshSheet .meshClose:focus-visible{
  border-color:#1a3350;
  color:#1a3350;
  outline:none;
}

.screen.in-house .meshSheet--choose{
  /* choose 态只改内边距；定位必须跟 .meshSheet 一样贴底，切勿改成 relative */
  padding:8px 16px 18px;
}
.screen.in-house .meshChooseAura{
  position:absolute;
  inset:-18% -20% auto -12%;
  height:58%;
  pointer-events:none;
  background:
    radial-gradient(ellipse 70% 80% at 18% 30%, rgba(140,180,210,.34), transparent 62%),
    radial-gradient(ellipse 55% 70% at 88% 8%, rgba(26,51,80,.1), transparent 58%);
  opacity:.9;
}
.screen.in-house .meshChooseHead{
  position:relative;
  z-index:1;
  padding:4px 40px 2px 2px;
}
.screen.in-house .meshChooseHead .meshMsg{
  margin:8px 0 0;
  font-size:12.5px;
  line-height:1.45;
  color:#6b7c93;
  max-width:22em;
}
.screen.in-house .meshModeChoices{
  position:relative;
  z-index:1;
  display:grid;
  gap:10px;
  margin-top:16px;
}
.screen.in-house .meshModeCard{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px 14px;
  padding:16px 14px;
  border:1px solid rgba(26,51,80,.1);
  border-radius:20px;
  text-align:left;
  cursor:pointer;
  color:#1a3350;
  background:
    linear-gradient(145deg, rgba(255,255,255,.98), rgba(255,255,255,.86)),
    #f3f7fb;
  box-shadow:
    0 10px 24px -18px rgba(26,51,80,.22),
    inset 0 1px 0 rgba(255,255,255,.95);
  transition:
    transform var(--verso-dur-press) var(--verso-ease-soft),
    box-shadow var(--verso-dur-ui) var(--verso-ease-soft),
    background var(--verso-dur-ui) var(--verso-ease-soft),
    border-color var(--verso-dur-ui) var(--verso-ease-soft),
    color var(--verso-dur-ui) var(--verso-ease-soft);
}
.screen.in-house .meshModeCard:active{
  transform:scale(.985);
}
.screen.in-house .meshModeBody{
  display:grid;
  gap:5px;
  min-width:0;
}
.screen.in-house .meshModeCard b{
  font-size:15px;
  font-weight:800;
  letter-spacing:-.02em;
  color:#1a3350;
  transition:color var(--verso-dur-ui) var(--verso-ease-soft);
}
.screen.in-house .meshModeCard small{
  font-size:11.5px;
  line-height:1.45;
  color:#6b7c93;
  transition:color var(--verso-dur-ui) var(--verso-ease-soft);
}
.screen.in-house .meshModeCta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:52px;
  height:34px;
  padding:0 14px;
  border-radius:999px;
  background:rgba(26,51,80,.08);
  color:#1a3350;
  font:750 12px/1 var(--font-ui);
  transition:
    background var(--verso-dur-ui) var(--verso-ease-soft),
    color var(--verso-dur-ui) var(--verso-ease-soft),
    box-shadow var(--verso-dur-ui) var(--verso-ease-soft);
}

/* 默认两块同为浅色；仅 .is-hot（指针滑入）变深 */
.screen.in-house .meshModeCard.is-hot,
.screen.in-house .meshModeCard:focus-visible{
  border-color:transparent;
  color:#fff;
  background:
    linear-gradient(155deg, #243f5a 0%, #1a3350 58%, #152a36 100%);
  box-shadow:
    0 16px 34px -16px rgba(26,51,80,.55),
    inset 0 1px 0 rgba(255,255,255,.18);
  outline:none;
}
.screen.in-house .meshModeCard.is-hot b,
.screen.in-house .meshModeCard:focus-visible b{
  color:#fff;
}
.screen.in-house .meshModeCard.is-hot small,
.screen.in-house .meshModeCard:focus-visible small{
  color:rgba(255,255,255,.72);
}
.screen.in-house .meshModeCard.is-hot .meshModeCta,
.screen.in-house .meshModeCard:focus-visible .meshModeCta{
  background:rgba(255,255,255,.96);
  color:#1a3350;
  box-shadow:0 8px 16px -10px rgba(0,0,0,.35);
}

.screen.in-house .meshSheet--intent .meshIntentClips{
  position:relative;
  z-index:1;
  margin-top:14px;
}
.screen.in-house .meshSheet--intent .meshIntentClips li{
  color:#5a6d84;
  border-color:rgba(26,51,80,.1);
  background:rgba(255,255,255,.72);
}
.screen.in-house .meshSheet--intent .meshIntentLabel{
  position:relative;
  z-index:1;
  color:#1a3350;
}
.screen.in-house .meshSheet--intent .meshIntentField{
  position:relative;
  z-index:1;
  border-color:rgba(26,51,80,.12);
  background:rgba(255,255,255,.96);
  color:#1a3350;
  border-radius:16px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
.screen.in-house .meshSheet--intent .meshIntentField:focus{
  outline:2px solid rgba(26,51,80,.22);
  outline-offset:1px;
}
.screen.in-house .meshSheet--intent .meshIntentActions{
  position:relative;
  z-index:1;
}
.screen.in-house .meshSheet--intent .meshIntentCancel{
  border-color:rgba(26,51,80,.12);
  background:rgba(255,255,255,.9);
  color:#1a3350;
  border-radius:16px;
}
.screen.in-house .meshSheet--intent .meshIntentStart.primary{
  border-radius:16px;
  background:linear-gradient(155deg,#243f5a 0%,#1a3350 58%,#152a36 100%);
  box-shadow:0 10px 22px -14px rgba(26,51,80,.45);
}
.sheet-enter.meshSheet--intent .meshChooseHead,
.sheet-enter.meshSheet--intent .meshIntentClips,
.sheet-enter.meshSheet--intent .meshIntentField,
.sheet-enter.meshSheet--intent .meshIntentActions{
  animation:versoSheetRise var(--verso-dur-enter) var(--verso-ease-spring) both;
}
.sheet-enter.meshSheet--intent .meshChooseHead{ animation-delay:50ms; }
.sheet-enter.meshSheet--intent .meshIntentClips{ animation-delay:100ms; }
.sheet-enter.meshSheet--intent .meshIntentField{ animation-delay:140ms; }
.sheet-enter.meshSheet--intent .meshIntentActions{ animation-delay:180ms; }

.sheet-enter.meshSheet--choose .meshChooseHead,
.sheet-enter.meshSheet--choose .meshModeCard{
  animation:versoSheetRise var(--verso-dur-enter) var(--verso-ease-spring) both;
}
.sheet-enter.meshSheet--choose .meshChooseHead{ animation-delay:50ms; }
.sheet-enter.meshSheet--choose .meshModeCard:nth-child(1){ animation-delay:120ms; }
.sheet-enter.meshSheet--choose .meshModeCard:nth-child(2){ animation-delay:180ms; }

@media (prefers-reduced-transparency: reduce){
  .screen.in-house .meshSheet{
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    background:#fff !important;
  }
  .screen.in-house .meshChooseAura{ display:none; }
}
@media (prefers-reduced-motion: reduce){
  .sheet-enter.meshSheet--choose .meshChooseHead,
  .sheet-enter.meshSheet--choose .meshModeCard,
  .sheet-enter.meshSheet--intent .meshChooseHead,
  .sheet-enter.meshSheet--intent .meshIntentClips,
  .sheet-enter.meshSheet--intent .meshIntentField,
  .sheet-enter.meshSheet--intent .meshIntentActions{
    animation:none;
  }
  .screen.in-house .meshModeCard:active{ transform:none; }
}

/* ============================================================
   Search Overlay · Soft UI（知识 / 灵感片段 / 房间）
   ============================================================ */
.searchOverlay{
  position:absolute;inset:0;z-index:340;
  display:flex;flex-direction:column;
  pointer-events:none;opacity:0;visibility:hidden;
  transition:opacity .28s ease, visibility .28s;
}
.searchOverlay.is-open{pointer-events:auto;opacity:1;visibility:visible;}
.searchOverlay[hidden]{display:none !important;}
.searchOverlay.is-open[hidden]{display:flex !important;}
.searchPanel{
  flex:1;min-height:0;display:flex;flex-direction:column;
  background:
    radial-gradient(120% 80% at 12% -10%, rgba(168,196,212,.35), transparent 55%),
    radial-gradient(90% 60% at 100% 0%, rgba(214,226,236,.5), transparent 50%),
    linear-gradient(180deg, #eef3f7 0%, #f7f9fb 42%, #ffffff 100%);
  transform:translateY(12px);
  transition:transform .32s cubic-bezier(.22,.9,.28,1);
  padding:calc(12px + env(safe-area-inset-top, 0px)) 16px 24px;
}
.searchOverlay.is-open .searchPanel{transform:translateY(0);}
.searchTop{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
.searchBack{
  flex:none;width:40px;height:40px;border-radius:50%;
  border:1px solid rgba(26,51,80,.1);background:#fff;color:#1a3350;
  font-size:26px;line-height:1;cursor:pointer;
  box-shadow:0 6px 16px -10px rgba(26,51,80,.22),0 1px 0 rgba(255,255,255,.95) inset;
}
.searchBack:active{transform:scale(.96);}
.searchField{
  flex:1;min-width:0;display:flex;align-items:center;gap:10px;
  background:#fff;border:1px solid rgba(26,51,80,.1);border-radius:999px;padding:10px 14px;
  box-shadow:0 8px 22px -12px rgba(26,51,80,.18),0 1px 0 rgba(255,255,255,.9) inset;
}
.searchField:focus-within{
  border-color:rgba(26,51,80,.22);
  box-shadow:0 10px 24px -12px rgba(26,51,80,.24),0 0 0 3px rgba(26,51,80,.06);
}
.searchField .si{
  display:inline-block !important;width:15px;height:15px;border:2px solid #1a3350;
  border-radius:50%;position:relative;flex:none;opacity:.5;box-sizing:border-box;font-size:0;
}
.searchField .si::after{
  content:"";position:absolute;right:-5px;bottom:-3px;width:7px;height:2px;
  background:#1a3350;transform:rotate(45deg);border-radius:1px;
}
.searchField input{
  flex:1;min-width:0;border:0;outline:none;background:transparent;font:inherit;
  font-size:14.5px;font-weight:500;color:#122033;line-height:1.3;
}
.searchField input::placeholder{color:rgba(26,51,80,.36);}
.searchField input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;}
.searchClear{
  flex:none;width:22px;height:22px;border-radius:50%;border:0;
  background:rgba(26,51,80,.1);color:#5a6f96;font-size:11px;line-height:1;cursor:pointer;padding:0;
}
.searchClear[hidden]{display:none !important;}
.searchTabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin-bottom:14px;padding-bottom:2px;}
.searchTabs::-webkit-scrollbar{display:none;}
.searchTab{
  flex:none;appearance:none;border:1px solid rgba(26,51,80,.08);background:#fff;
  color:rgba(26,51,80,.62);font:inherit;font-size:12.5px;font-weight:600;
  padding:7px 14px;border-radius:999px;cursor:pointer;
  box-shadow:0 2px 8px -6px rgba(26,51,80,.2);
}
.searchTab.on{
  background:linear-gradient(160deg, #2a4a60 0%, #1a3350 55%, #152a36 100%);
  border-color:rgba(255,255,255,.18);color:#fff;
  box-shadow:0 10px 22px -10px rgba(26,51,80,.55),inset 0 1px 0 rgba(255,255,255,.28);
}
.searchTitle{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.searchBody{flex:1;min-height:0;overflow:auto;padding-bottom:28px;-webkit-overflow-scrolling:touch;}
.searchHint{margin:6px 2px 16px;font-size:12.5px;font-weight:500;color:rgba(26,51,80,.45);}
.searchGroup{margin-bottom:18px;}
.searchGroupHead{display:flex;align-items:baseline;justify-content:space-between;margin:0 2px 10px;}
.searchGroupHead .sg-t{font-size:14px;font-weight:700;color:#122033;}
.searchGroupHead .sg-n{font-size:11.5px;font-weight:600;color:rgba(26,51,80,.4);}
.searchHit{
  display:flex;align-items:center;gap:12px;width:100%;text-align:left;appearance:none;
  border:1px solid rgba(26,51,80,.08);background:rgba(255,255,255,.92);border-radius:18px;
  padding:10px 12px;margin-bottom:8px;cursor:pointer;font:inherit;color:inherit;
  box-shadow:0 8px 20px -14px rgba(26,51,80,.2),0 1px 0 rgba(255,255,255,.95) inset;
}
.searchHit:active{transform:scale(.985);border-color:rgba(26,51,80,.16);}
.searchHit-thumb{
  flex:none;width:52px;height:52px;border-radius:14px;overflow:hidden;
  background:linear-gradient(160deg,#a8c4d4,#3d5a70);display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:11px;font-weight:700;
}
.searchHit-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.searchHit-thumb.is-room{font-size:22px;background:linear-gradient(160deg, rgba(255,255,255,.2), transparent),linear-gradient(160deg,#8ea8bc,#29445d);}
.searchHit-copy{flex:1;min-width:0;}
.searchHit-kicker{font-size:10.5px;font-weight:700;letter-spacing:.08em;color:rgba(26,51,80,.42);margin-bottom:3px;text-transform:uppercase;}
.searchHit-title{font-size:14px;font-weight:700;color:#122033;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.searchHit-sub{margin-top:3px;font-size:12px;font-weight:500;color:rgba(26,51,80,.5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.searchHit-go{flex:none;color:rgba(26,51,80,.28);font-size:18px;line-height:1;}
.searchEmpty{text-align:center;padding:48px 20px 24px;color:rgba(26,51,80,.45);}
.searchEmpty b{display:block;font-size:15px;font-weight:700;color:#1a3350;margin-bottom:8px;}
.searchEmpty p{margin:0;font-size:13px;line-height:1.5;font-weight:500;}
.searchSuggest{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;justify-content:flex-start;}
.searchEmpty .searchSuggest{margin-top:18px;justify-content:center;}
.searchSuggest button{
  appearance:none;border:1px solid rgba(26,51,80,.1);background:#fff;color:#1a3350;
  font:inherit;font-size:12.5px;font-weight:600;padding:8px 14px;border-radius:999px;cursor:pointer;
  box-shadow:0 4px 12px -8px rgba(26,51,80,.2);
}
.searchSuggest button:active{transform:scale(.97);}
@media (prefers-reduced-motion: reduce){
  .searchOverlay,.searchPanel,.searchHit{transition:none;}
  .searchOverlay.is-open .searchPanel{transform:none;}
}
/* Vercel 静态展示包标识；普通本地/CloudBase 构建不会加载 showcase.js。 */
.showcase-badge{
  position:fixed;right:14px;top:14px;z-index:9999;padding:7px 11px;border-radius:999px;
  background:rgba(15,42,59,.82);color:#fff;font:600 12px/1.2 system-ui,sans-serif;
  letter-spacing:.08em;box-shadow:0 6px 20px rgba(8,28,42,.18);backdrop-filter:blur(10px);
}
.showcase-media-unavailable{visibility:hidden}
