/* Atoms light discovery. home-dark remains only as a legacy layout hook. */
body:has(.app-frame.home-style-final.home-atoms) { background: #eae8e2; }
.app-frame.home-style-final.home-atoms,
.app-frame.home-style-final.home-atoms .screen { color-scheme: light; background: #f8f7f3; color: #272722; --brand: #D70050; --ink: #272722; }
.app-frame.home-style-final.home-atoms { box-shadow: none; }
.home-atoms .screen::before,.home-atoms .screen::after { display: none; }
.app-frame.home-atoms .status-bar,.app-frame.home-atoms .status-icons svg { color: #272722; }
.app-frame.home-atoms .pill-battery { background: #272722; color: #fff; }
.app-frame.home-atoms .dot-signal { background: linear-gradient(90deg,#272722 25%,transparent 25% 38%,#272722 38% 58%,transparent 58% 70%,#272722 70%); }
.app-frame.home-atoms .vision-home-final .vision-summary { padding: 26px 22px 22px; gap: 12px; }
.app-frame.home-style-final.home-atoms .vision-home-final .vision-summary-title { color: #272722; font-family: 'Songti SC','STSong','SimSun',serif; font-size: 29px; font-weight: 500; line-height: 1.4; letter-spacing: -.025em; }
.app-frame.home-atoms .vision-home-final .vision-summary .ghost-button { color: #6a6860; font-weight: 450; }
.app-frame.home-atoms .vision-home-final .vision-summary .ghost-button b { color: #292923; }
.app-frame.home-atoms .vision-home-final .home-feed-tabs { margin: 0 18px 18px; padding: 2px; gap: 2px; border: 0; border-radius: 999px; background: #eae8e3; }
.app-frame.home-atoms .vision-home-final .home-feed-tabs button { min-height: 28px; padding: 0 12px; border-radius: 999px; color: #66635c; font-size: 13px; line-height: 1; }
.app-frame.home-atoms .vision-home-final .home-feed-tabs button.active { background: #fff; color: #242421; font-weight: 650; }
.app-frame.home-atoms .vision-home-final .home-feed-tabs button::after { display: none; }
.app-frame.home-style-final.home-atoms .vision-home-final .vision-search { border: 1px solid #e1ded6; background: #fff; box-shadow: none; border-radius: 18px; }
.app-frame.home-atoms .vision-search input { color: #282823; caret-color: #282823; }
.app-frame.home-atoms .vision-search input::placeholder { color: #767269; }
.app-frame.home-style-final.home-atoms .vision-home-final .search-submit { color: #666157; }
.app-frame.home-style-final.home-atoms .home-add-wish { border: 0; background: #282823; color: #fff; box-shadow: none; }
.app-frame.home-atoms .home-add-wish:hover { background: #49473f; }
.app-frame.home-atoms .vision-home-final .vision-cats { margin-top: 16px; gap: 8px; }
.app-frame.home-atoms .vision-home-final .vision-cat { border: 1px solid #dedbd3; background: transparent; color: #555249; font-weight: 500; box-shadow: none; }
.app-frame.home-atoms .vision-home-final .vision-cat:hover { background: #eeece5; border-color: #c8c3b8; }
.app-frame.home-atoms .vision-home-final .vision-cat.active { background: #282823; border-color: #282823; color: #fff; box-shadow: none; }
.app-frame.home-atoms .vision-home-final .vision-masonry { padding: 24px 14px 0; gap: 12px; }
.app-frame.home-atoms .vision-home-final .vision-column { gap: 14px; }
.app-frame.home-atoms .vision-home-final .editorial-card { background: #fff; border-radius: 24px; box-shadow: none; border: 1px solid #e2dfd6; }
.app-frame.home-atoms .vision-home-final .editorial-card.selected { border-color: #b8af99; box-shadow: none; }
.app-frame.home-atoms .vision-home-final .flip-front { background: #35352f; }
.app-frame.home-atoms .vision-home-final .flip-front::after { inset: 0; background: linear-gradient(180deg,rgba(0,0,0,.12) 0%,transparent 30%,rgba(0,0,0,.12) 48%,rgba(0,0,0,.76) 100%); pointer-events: none; }
.app-frame.home-atoms .vision-home-final .wish-cover-photo { inset: 0; height: 100%; }
.app-frame.home-atoms .vision-home-final .wish-cover-photo img { filter: none; }
.app-frame.home-atoms .vision-home-final .editorial-card-copy h3,
.app-frame.home-atoms .vision-home-final .editorial-card.small .editorial-card-copy h3 { bottom: 17px; min-height: 0; margin: 0; display: block; right: 15px; left: 15px; z-index: 3; text-align: left; font-family: 'Songti SC','SimSun',serif; font-weight: 600; font-size: 18px; line-height: 1.45; color: #fff; text-shadow: 0 1px 4px rgba(0,0,0,.45); }
.app-frame.home-atoms .vision-home-final .flip-back { background: #fffdf7; color: #292923; border-radius: 23px; }
.app-frame.home-atoms .flip-back h3 { color: #292923; }
.app-frame.home-atoms .flip-back p,.app-frame.home-atoms .roadmap-back-head,.app-frame.home-atoms .wish-comments-head span,.app-frame.home-atoms .wish-comment b { color: #615d53; }
.app-frame.home-atoms .wish-comments-head strong,.app-frame.home-atoms .roadmap-count { color: #665022; }
.app-frame.home-atoms .wish-comment { background: #f2efe6; border-color: #e4dfd2; }
.app-frame.home-atoms .wish-comment-compose input { color: #292923; background: #fff; border-color: #d8d3c7; }
.app-frame.home-atoms .wish-comment-compose input::placeholder { color: #777063; }
.app-frame.home-atoms .flip-back .tiny-icon-button { background: #ebe6d9; color: #292923; }
.app-frame.home-atoms .home-empty-search { background: #fffdf7; border-color: #dedbd3; color: #292923; }
.app-frame.home-atoms .home-empty-search p { color: #666157; }
.app-frame.home-atoms .bottom-nav-inner { margin: 0 12px 12px; width: min(calc(var(--app-width) - 24px), calc(100% - 24px)); border: 1px solid #e9e6df; border-radius: 999px; padding: 7px; background: #fffdf9; box-shadow: 0 8px 24px rgba(58,49,28,.08); }
.app-frame.home-atoms .nav-button { color: #67645b; border-radius: 999px; }
.app-frame.home-atoms .nav-button.active { color: #282823; background: #eeece5; }
.app-frame.home-atoms :focus-visible { outline: 2px solid #8c712f; outline-offset: 2px; }
.app-frame.home-atoms ::selection { color: #272722; background: #f7cf78; }
@media(max-width:360px) { .app-frame.home-style-final.home-atoms .vision-home-final .vision-summary-title { font-size: 26px; } .app-frame.home-atoms .vision-home-final .editorial-card-copy h3 { font-size: 16px; } }
.app-frame.home-atoms .flip-back .primary-button { background: #282823; color: #fff; box-shadow: none; }
.app-frame.home-atoms .wish-comments { border-top-color: #e5dfd3; }

/* Atoms reference refinement: expressive headline, slim tabs, one brand action. */
.app-frame.home-atoms .vision-home-final .vision-summary {
  position: relative;
  padding-top: 28px;
  padding-bottom: 22px;
  background: radial-gradient(ellipse at 100% 0%, rgba(215, 0, 80, .10) 0%, rgba(215, 0, 80, .025) 32%, transparent 65%), radial-gradient(ellipse at 96% 12%, #f0e5f1 0%, transparent 47%), radial-gradient(ellipse at 76% 0%, #fff0d9 0%, transparent 57%);
}
.app-frame.home-style-final.home-atoms .vision-home-final .vision-summary-title { max-width: none; letter-spacing: -.025em; }
.app-frame.home-atoms .vision-summary .vision-title-en { display: block; color: inherit; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(30px, 8vw, 36px); line-height: 1.12; font-weight: 400; letter-spacing: -.035em; }
.app-frame.home-atoms .vision-summary .vision-title-cn { display: block; color: inherit; margin-top: 8px; font-family: 'Smiley Sans', sans-serif; font-size: clamp(30px, 8.5vw, 36px); font-weight: 400; line-height: 1.3; letter-spacing: .01em; }
.app-frame.home-atoms .vision-home-final .flip-back { background: linear-gradient(145deg, #fff2de 0%, #f6edf8 32%, #fffdf9 65%); }
.app-frame.home-atoms .flip-back .wish-realize-action .primary-button {
  min-height: 38px;
  padding: 0 12px;
  border: 0;
  border-radius: 999px;
  background: #D70050;
  color: #fff;
  font-family: 'PingFang SC', 'Microsoft YaHei', sans-serif;
  font-size: 13px;
  font-weight: 600;
  box-shadow: none;
  transition: background 160ms ease, transform 160ms ease;
}
.app-frame.home-atoms .flip-back .wish-realize-action .primary-button:hover { background: #bb0045; }
.app-frame.home-atoms .flip-back .wish-realize-action .primary-button[data-action="open-vision-board"] {
  background: #efefef;
  color: #282823;
  border: 1px solid #e2e2e2;
}
.app-frame.home-atoms .flip-back .wish-realize-action .primary-button[data-action="open-vision-board"]:hover { background: #e5e5e5; }
.app-frame.home-atoms .flip-back .wish-realize-action .primary-button:active { transform: scale(.98); }
/* Activation owns the button color, including the touch hover/active state. */
.app-frame.home-atoms .flip-back .wish-realize-action .primary-button.is-casting {
  background: #fff;
  color: #272722;
  box-shadow: none;
  transform: none;
  transition: none;
  pointer-events: none;
}
.app-frame.home-atoms .flip-back .wish-realize-action .primary-button:disabled { background: #e5c6d1; color: #634451; cursor: default; }
.app-frame.home-atoms .flip-back .wish-realize-action .primary-button svg { width: 17px; height: 17px; }
.app-frame.home-atoms .vision-home-final .vision-cat.active { background: #f8e5ec; border-color: #eec3d3; color: #a9003f; }
.app-frame.home-atoms :focus-visible { outline-color: #D70050; }
@media(prefers-reduced-motion: reduce) { .app-frame.home-atoms .flip-back .wish-realize-action .primary-button { transition: none; } }
.home-feed-guide { position: fixed; inset: 0; width: 100%; height: 100%; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: transparent; color: #fff; }
.home-feed-guide::backdrop { background: rgba(20, 18, 22, .72); }
.home-feed-guide-highlight { position: absolute; display: grid; place-items: center; border-radius: 999px; background: #f4f3f0; color: #282823; font: 600 14px/1 'PingFang SC', 'Microsoft YaHei', sans-serif; }
.home-feed-guide-copy { position: absolute; width: 260px; max-width: calc(100vw - 40px); font: 400 16px/1.65 'PingFang SC', 'Microsoft YaHei', sans-serif; }
.home-feed-guide-arrow { display: block; width: 100%; height: 64px; overflow: visible; }
.home-feed-guide-copy { text-align: center; }
.home-feed-guide-copy p { margin: 4px 0 20px; text-wrap: balance; }
.home-feed-guide-copy button { min-height: 40px; padding: 0 20px; border: 1px solid #ffffff80; border-radius: 999px; background: transparent; color: #fff; font: inherit; cursor: pointer; }
.home-feed-guide-copy button:hover { background: #ffffff20; }
.home-feed-guide-copy button:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
