* { box-sizing: border-box; }
[hidden] { display: none !important; }
html, body { margin: 0; min-height: 100%; background: #FFF8EC; color: #38261B; font-family: "PingFang SC", "Noto Sans SC", -apple-system, sans-serif; }
button { font: inherit; cursor: pointer; border: 0; padding: 0; text-align: inherit; background: transparent; }
h1, h2, h3, p { margin: 0; }
a { color: inherit; }
.app-titlebar { position: sticky; top: 0; z-index: 30; display: flex; align-items: center; justify-content: space-between; width: min(100%, 520px); height: 48px; margin: auto; padding: 0 16px; background: #FFF8EC; border-bottom: 1px solid #F0DED0; font-size: 17px; }
.app-titlebar a { text-decoration: none; font-size: 32px; width: 30px; line-height: 1; }
.app-titlebar .app-share { width: 34px; height: 28px; border: 1px solid #e9ddd2; border-radius: 16px; color: #493022; background: #fffdf9; font-size: 19px; line-height: 1; text-align: center; }
.app-shell { width: min(100%, 520px); min-height: calc(100dvh - 48px); margin: auto; container-type: inline-size; box-shadow: 0 0 36px rgba(108,55,25,.06); }
.loading-page { padding: 32px; text-align: center; }
.view-radar, .view-activity, .view-mine, .view-detail { min-height: calc(100dvh - 48px); }
.tabbar { position: fixed; z-index: 20; left: 50%; bottom: 0; transform: translateX(-50%); display: flex; justify-content: space-around; width: min(100%, 520px); height: 65px; padding-top: 12px; border-top: 1px solid #F0E7DE; background: #FFFDFA; color: #A58F80; }
.tabbar button { flex: 1; align-self: stretch; background: transparent; color: inherit; font-size: 13px; text-align: center; }
.tabbar button.active { color: #D9661D; font-weight: 900; }
.tabbar[hidden] { display: none; }
.site-footer { max-width: 520px; margin: 0 auto; padding: 12px 18px 82px; color: #A18D80; background: #FFF9F2; font-size: 11px; text-align: center; }
.site-footer a { text-decoration: none; }
#overlay-root:empty { display: none; }
#overlay-root { position: fixed; z-index: 80; inset: 0; display: flex; align-items: flex-end; justify-content: center; background: rgba(38,24,15,.34); }
#overlay-root .overlay-sheet { width: min(100%, 520px); max-height: 85dvh; overflow: auto; }
@media (min-width: 700px) { .app-titlebar { margin-top: 30px; border: 1px solid #F0DED0; border-radius: 12px 12px 0 0; } .app-shell { border: 1px solid #F0DED0; border-top: 0; } }




/* Mini program index page styles, rpx scaled to app width. */
.view-radar {min-height: 100vh; padding: 4.53333cqw 3.73333cqw 21.3333cqw; box-sizing: border-box; background: #FFF9F2; color: #38261B;}
.view-radar .hero {position: relative; padding: 5.33333cqw 4.26667cqw 4.53333cqw; border: 0.133333cqw solid #F1D9C6; border-radius: 3.73333cqw; background: #FFF0E1; box-shadow: 0 1.06667cqw 3.2cqw rgba(150,74,23,.05);}
.view-radar .hero-head {display: flex; align-items: center; gap: 1.86667cqw;}
.view-radar .tag {padding: 1.06667cqw 1.86667cqw; border: 0.266667cqw solid #B85A18; border-radius: 1.33333cqw; background: #FFD76A; color: #8D4313; font-size: 3.46667cqw; font-weight: 900; transform: rotate(-5deg);}
.view-radar .hero-title {color: #50311E; font-size: 4cqw; font-weight: 900;}
.view-radar .mascot {position: absolute; right: 5.06667cqw; top: 4.53333cqw; width: 9.06667cqw; height: 8cqw; border-radius: 46% 52% 45% 52%; background: #F4A45D; color: #9D4C15; transform: rotate(7deg);}
.view-radar .mascot .shell {position: absolute; left: 1.6cqw; top: 1.2cqw; font-size: 4.8cqw; font-weight: 900;}
.view-radar .mascot .head {position: absolute; right: -1.73333cqw; top: 2.4cqw; width: 3.2cqw; height: 2.93333cqw; border-radius: 50%; background: #F6BB80; font-size: 0;}
.view-radar .count-row {display: flex; align-items: baseline; margin-top: 6.4cqw;}
.view-radar .num {color: #D9661D; font-size: 9.33333cqw; line-height: 1; font-weight: 950;}
.view-radar .unit {margin: 0 1.6cqw 0 0.533333cqw; color: #B86025; font-size: 2.8cqw; font-weight: 800;}
.view-radar .meta-row, .view-radar .last-row {display: flex; align-items: center; flex-wrap: wrap; gap: 1.86667cqw; margin-top: 4.26667cqw; color: #A1816D; font-size: 3.06667cqw;}
.view-radar .last-row span {white-space: nowrap;}
.view-radar .strong {color: #8C4619; font-weight: 900;}
.view-radar .divider {height: 0.133333cqw; margin-top: 3.6cqw; background: #F0DCCB;}
.view-radar .reminder-cta {display: flex; align-items: center; justify-content: space-between; margin-top: 2.93333cqw; padding: 3.33333cqw 3.73333cqw; border: 0.266667cqw solid #A94F17; border-radius: 2.66667cqw; background: #FFD76A; box-shadow: 0 0.933333cqw 0 #8F4318;}
.view-radar .reminder-cta.is-subscribed {border-color: #6C8A70; background: #E7F0D9; box-shadow: 0 0.933333cqw 0 #4D6A50;}
.view-radar .reminder-cta-copy {flex: 1;}
.view-radar .reminder-cta-title, .view-radar .reminder-cta-sub {display: block;}
.view-radar .reminder-cta-title {color: #493022; font-size: 3.86667cqw; font-weight: 950;}
.view-radar .reminder-cta-sub {margin-top: 0.933333cqw; color: #805421; font-size: 2.8cqw;}
.view-radar .reminder-cta-arrow {margin-left: 2.4cqw; color: #6F461B; font-size: 5.6cqw; line-height: 1;}
.view-radar .forecast {margin-top: 4.53333cqw; padding: 4.53333cqw 3.2cqw 3.73333cqw; border: 0.133333cqw solid #F1E0D1; border-radius: 3.46667cqw; background: #FFF3E7;}
.view-radar .section-title {color: #422A1D; font-size: 4.26667cqw; font-weight: 900;}
.view-radar .signal {display: flex; align-items: center; margin-top: 3.33333cqw; padding: 2.93333cqw 3.2cqw; border-radius: 1.86667cqw; background: #FFF0C9;}
.view-radar .signal-text {flex: 1;}
.view-radar .signal-title, .view-radar .signal-copy {display: block; color: #906327; line-height: 1.5;}
.view-radar .signal-title {font-size: 3.06667cqw; font-weight: 900;}
.view-radar .signal-copy {margin-top: 0.533333cqw; padding-right: 1.06667cqw; font-size: 2.66667cqw;}
.view-radar .signal-arrow {color: #C4771D; font-size: 5.06667cqw;}
.view-radar .sync-hint {margin-top: 1.6cqw; color: #997B63; font-size: 2.53333cqw; line-height: 1.45; text-align: right;}
.view-radar .forecast-list {margin-top: 2.93333cqw; border: 0.133333cqw solid #F0E4D9; border-radius: 2.26667cqw; overflow: hidden;}
.view-radar .forecast-row {display: flex; align-items: center; justify-content: space-between; min-height: 16.8cqw; padding: 0 2.4cqw; border-bottom: 0.133333cqw solid #F0E7DE; background: #FFFFFF;}
.view-radar .forecast-row:last-child {border-bottom: 0;}
.view-radar .forecast-main {min-width: 0; flex: 1; padding: 2.26667cqw 1.33333cqw 2.26667cqw 0;}
.view-radar .forecast-time {display: flex; align-items: baseline; gap: 1.6cqw;}
.view-radar .date {color: #513727; font-size: 3.33333cqw; font-weight: 900;}
.view-radar .clock {color: #D9661D; font-size: 3.6cqw; font-weight: 950;}
.view-radar .forecast-note {display: block; max-width: 38cqw; margin-top: 1.06667cqw; overflow: hidden; color: #A58F80; font-size: 2.4cqw; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap;}
.view-radar .forecast-kind {flex: none; width: 20.5333cqw; color: #8A6424; font-size: 2.66667cqw; font-weight: 900; text-align: center;}
.view-radar .info-icon {margin-left: 0.666667cqw; font-size: 2.8cqw;}
.view-radar .countdown-pill {flex: none; min-width: 13.8667cqw; height: 6.93333cqw; padding: 0 1.33333cqw; border: 0.133333cqw solid #ECD6C4; border-radius: 1.73333cqw; background: #FFF9F3; color: #C05B18; text-align: center; line-height: 6.93333cqw; font-size: 2.53333cqw; font-weight: 900;}
.view-radar .explain-overlay {position: fixed; z-index: 90; inset: 0; display: flex; align-items: flex-end; padding: 3.73333cqw; box-sizing: border-box; background: rgba(38, 24, 15, .34);}
.view-radar .explain-card {width: 100%; padding: 4cqw 3.73333cqw 3.46667cqw; box-sizing: border-box; border-radius: 3.46667cqw; background: #2E4A35; box-shadow: 0 2.4cqw 6.4cqw rgba(35, 49, 38, .28); color: #FFFFFF;}
.view-radar .explain-head {display: flex; align-items: center; justify-content: space-between; margin-bottom: 2.66667cqw;}
.view-radar .explain-title {font-size: 3.86667cqw; font-weight: 900;}
.view-radar .explain-close {padding: 0 0.533333cqw 0.533333cqw 2.66667cqw; color: #D8E4D7; font-size: 5.06667cqw; line-height: 1;}
.view-radar .explain-paragraph {display: block; margin-top: 2.4cqw; color: #F8FBF7; font-size: 3.2cqw; line-height: 1.75;}
.view-radar .explain-paragraph:first-of-type {margin-top: 0;}
.view-radar .explain-confirm {width: 25.3333cqw; height: 8.8cqw; margin: 3.46667cqw auto 0; border-radius: 4.4cqw; background: #FFF4D5; color: #31513A; text-align: center; line-height: 8.8cqw; font-size: 3.2cqw; font-weight: 900;}
.view-radar .notice-card {background: #FFFDF8; color: #38261B;}
.view-radar .notice-overlay {align-items: center;}
.view-radar .notice-card {max-height: 78vh; overflow-y: auto;}
.view-radar .notice-card .explain-title {display: block; margin-top: 1.06667cqw; color: #A94F17; font-size: 5.6cqw;}
.view-radar .notice-card .explain-close {color: #8F9A8B;}
.view-radar .notice-card .explain-paragraph {color: #574536;}
.view-radar .notice-kicker {display: block; color: #C4771D; font-size: 2.4cqw; font-weight: 900; letter-spacing: 0.533333cqw;}
.view-radar .notice-meta {display: block; margin-bottom: 2.66667cqw; color: #A1816D; font-size: 2.66667cqw;}
.view-radar .notice-actions {display: flex; align-items: center; gap: 2.4cqw; margin-top: 3.46667cqw;}
.view-radar .notice-card .explain-confirm {flex: 1; width: auto; height: 9.6cqw; margin: 0; border: 0.266667cqw solid #9D571D; border-radius: 2.4cqw; background: #FFD76A; color: #493022; box-shadow: 0 0.8cqw 0 #8F4318; line-height: 9.6cqw;}
.view-radar .notice-detail {flex: none; padding: 2.4cqw 1.06667cqw; color: #A94F17; font-size: 3.06667cqw; font-weight: 900;}
.view-radar .developer-card {display: flex; align-items: center; margin-top: 3.46667cqw; padding: 3.2cqw 2.93333cqw; border: 0.133333cqw solid #F0DED0; border-radius: 2.4cqw; background: #FFFFFF;}
.view-radar .developer-icon {width: 7.46667cqw; height: 7.46667cqw; margin-right: 2.4cqw; border: 0.266667cqw solid #B95A18; border-radius: 1.73333cqw; background: #FFD061; color: #A34B12; text-align: center; line-height: 7.46667cqw; font-size: 4cqw; font-weight: 900; transform: rotate(-4deg);}
.view-radar .developer-copy {flex: 1;}
.view-radar .developer-title, .view-radar .developer-sub {display: block;}
.view-radar .developer-title {color: #493022; font-size: 3.6cqw; font-weight: 900;}
.view-radar .developer-sub {margin-top: 0.933333cqw; color: #A58E7E; font-size: 2.8cqw;}
.view-radar .arrow {color: #BDA99B; font-size: 5.06667cqw;}
.view-radar .tab.active {color: #D9661D; font-weight: 900;}


/* Mini program activity page styles, rpx scaled to app width. */
.view-activity {min-height: 100vh; padding: 4.53333cqw 3.73333cqw 20cqw; box-sizing: border-box; background: #FFF9F2; color: #38261B;}
.view-activity .calendar-card, .view-activity .post-card {border: 0.133333cqw solid #F0DED0; border-radius: 2.93333cqw; background: #FFFFFF;}
.view-activity .calendar-card {padding: 3.73333cqw 3.2cqw 3.2cqw;}
.view-activity .calendar-head {display: flex; align-items: flex-end; justify-content: space-between;}
.view-activity .calendar-title {color: #422A1D; font-size: 4.26667cqw; font-weight: 900;}
.view-activity .calendar-month {margin-top: 0.933333cqw; color: #D9661D; font-size: 3.33333cqw; font-weight: 900;}
.view-activity .calendar-legend {display: flex; align-items: center; gap: 1.06667cqw; color: #A18D80; font-size: 2.53333cqw;}
.view-activity .legend-dot {width: 1.73333cqw; height: 1.73333cqw; border-radius: 50%; background: #D9661D;}
.view-activity .week-row, .view-activity .calendar-grid {display: grid; grid-template-columns: repeat(7, 1fr);}
.view-activity .week-row {margin-top: 3.6cqw; color: #A18D80; font-size: 2.66667cqw; text-align: center;}
.view-activity .calendar-grid {margin-top: 1.33333cqw; border-top: 0.133333cqw solid #F2E7DE; border-left: 0.133333cqw solid #F2E7DE;}
.view-activity .calendar-cell {position: relative; min-height: 10.4cqw; padding: 1.2cqw 0.666667cqw 0.933333cqw; box-sizing: border-box; border-right: 0.133333cqw solid #F2E7DE; border-bottom: 0.133333cqw solid #F2E7DE; background: #FFFCF9; text-align: center;}
.view-activity .calendar-cell.empty {background: #FFF9F4;}
.view-activity .calendar-cell.today {background: #FFF1E3;}
.view-activity .day-number {display: block; color: #5C4436; font-size: 2.8cqw; font-weight: 800;}
.view-activity .today .day-number {color: #D9661D;}
.view-activity .event-mark {display: block; max-width: 8.53333cqw; margin: 0.666667cqw auto 0; padding: 0.4cqw 0.266667cqw; border-radius: 0.8cqw; font-size: 2cqw; line-height: 1.2; font-weight: 900;}
.view-activity .event-mark.orange {background: #FFE1CA; color: #BF5614;}
.view-activity .event-mark.yellow {background: #FFF0B8; color: #9C7214;}
.view-activity .event-mark.soft {background: #F8ECE3; color: #9B6846;}
.view-activity .section-head {display: flex; align-items: center; justify-content: space-between; margin: 5.06667cqw 0 2.66667cqw;}
.view-activity .section-title {color: #422A1D; font-size: 4.53333cqw; font-weight: 900;}
.view-activity .sync-label {color: #A18D80; font-size: 2.66667cqw;}
.view-activity .post-card {margin-top: 2.4cqw; padding: 3.33333cqw 3.2cqw 2.93333cqw;}
.view-activity .post-head {display: flex; align-items: center;}
.view-activity .identity {min-width: 0; flex: 1;}
.view-activity .avatar {flex: none; width: 9.6cqw; height: 9.6cqw; margin-right: 2.26667cqw; border: 0.266667cqw solid #F2D8C5; border-radius: 50%; background: #F3B47F;}
.view-activity .name-line {display: flex; align-items: center; gap: 1.06667cqw;}
.view-activity .name {display: block; color: #35251D; font-size: 4.13333cqw; font-weight: 950;}
.view-activity .verified {display: inline-flex; align-items: center; justify-content: center; width: 3.33333cqw; height: 3.33333cqw; border-radius: 50%; background: #E36C20; color: #FFFFFF; font-size: 2.26667cqw; line-height: 3.33333cqw; font-weight: 900;}
.view-activity .handle {display: block; margin-top: 0.4cqw; color: #A58F80; font-size: 2.66667cqw;}
.view-activity .badge {margin-left: auto; padding: 1.2cqw 2cqw; border-radius: 1.2cqw; font-size: 2.4cqw; font-weight: 900;}
.view-activity .badge.orange {background: #FFF0E4; color: #C45A18;}
.view-activity .badge.yellow {background: #FFF0B8; color: #9C7B22;}
.view-activity .badge.green {background: #EDF5E7; color: #577D50;}
.view-activity .badge.soft {background: #F8ECE3; color: #9B6846;}
.view-activity .post-summary {display: flex; align-items: flex-start; gap: 1.86667cqw; margin-top: 3.2cqw; padding: 2.4cqw 2.66667cqw; border-left: 0.8cqw solid #E36C20; border-radius: 0 2.13333cqw 2.13333cqw 0; background: #FFF3E8;}
.view-activity .post-summary > span:first-child {flex: none; padding: 0.533333cqw 1.33333cqw; border-radius: 1.06667cqw; background: #FFD98A; color: #7A4E10; font-size: 2.53333cqw; font-weight: 900;}
.view-activity .summary-copy {color: #493226; font-size: 3.33333cqw; line-height: 1.55; font-weight: 800;}
.view-activity .post-text {display: block; margin-top: 3.2cqw; color: #493226; font-size: 3.6cqw; line-height: 1.72; white-space: pre-wrap;}
.view-activity .post-foot {display: flex; align-items: center; justify-content: flex-end; min-height: 9.6cqw; margin-top: 3.06667cqw; border-top: 0.133333cqw solid #F1E4DA;}
.view-activity .post-detail {color: #B95A18; font-size: 2.93333cqw; font-weight: 900;}
.view-activity .more-button {margin: 3.46667cqw auto 0; border: 0; background: transparent; color: #CC641F; font-size: 3.06667cqw; font-weight: 800;}
.view-activity .more-button::after {border: 0;}
.view-activity .empty-state, .view-activity .fallback-notice {padding: 4cqw 3.2cqw; border-radius: 2.4cqw; background: #FFFFFF; color: #A18D80; font-size: 3.06667cqw; text-align: center;}
.view-activity .fallback-notice {background: #FFF3E8; color: #A56339;}
.view-activity .tab.active {color: #D9661D; font-weight: 900;}


/* Mini program quota page styles, rpx scaled to app width. */
.view-mine {min-height: 100vh;
  padding: 7.2cqw 4cqw 21.3333cqw;
  box-sizing: border-box;
  background: #FFF9F2;
  color: #38261B;}
.view-mine .section {margin: 7.73333cqw 0.533333cqw 2.66667cqw;
  color: #4A3020;
  font-size: 4.26667cqw;
  font-weight: 900;}
.view-mine .section.first {margin-top: 1.06667cqw;}
.view-mine .reminder-row, .view-mine .menu {border: 0.133333cqw solid #F0DED0;
  border-radius: 2.93333cqw;
  background: #FFFFFF;
  box-shadow: 0 1.6cqw 4.53333cqw rgba(115, 64, 28, 0.06);
  overflow: hidden;}
.view-mine .reminder-row {display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 19.4667cqw;
  padding: 0 3.73333cqw;}
.view-mine .reminder-copy {flex: 1;}
.view-mine .row-title, .view-mine .menu-title {display: block;
  color: #493023;
  font-size: 4cqw;
  font-weight: 900;}
.view-mine .row-sub, .view-mine .menu-sub {display: block;
  margin-top: 1.33333cqw;
  color: #969D93;
  font-size: 3.06667cqw;}
.view-mine .status {padding: 1.33333cqw 2.4cqw;
  border-radius: 1.6cqw;
  background: #FFF0E4;
  color: #C45A18;
  font-size: 3.06667cqw;
  font-weight: 900;}
.view-mine .menu-row {display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 14.6667cqw;
  padding: 0 3.73333cqw;
  box-sizing: border-box;
  border-bottom: 0.133333cqw solid #F0E7DE;
  color: #493023;
  font-size: 3.86667cqw;}
.view-mine .menu-row:last-child {border-bottom: 0;}
.view-mine .arrow {color: #BEA898;
  font-size: 5.33333cqw;
  font-weight: 400;}
.view-mine .tab.active {color: #D9661D;
  font-weight: 900;}


/* Mini program detail page styles, rpx scaled to app width. */
.view-detail {min-height: 100vh; padding: 3.73333cqw 3.73333cqw 10.1333cqw; box-sizing: border-box; background: #FFF9F2; color: #38261B;}
.view-detail .post-card, .view-detail .time-card, .view-detail .state-card {border: 0.133333cqw solid #F0DED0; border-radius: 3.46667cqw; background: #FFFFFF; box-shadow: 0 1.6cqw 4.53333cqw rgba(115,64,28,.05);}
.view-detail .post-card {padding: 4.26667cqw 3.73333cqw 3.73333cqw;}
.view-detail .post-head {display: flex; align-items: center;}
.view-detail .event-head {display: flex; align-items: center; gap: 1.6cqw;}
.view-detail .event-head-title {color: #35251D; font-size: 4.13333cqw; font-weight: 900;}
.view-detail .avatar {width: 10.1333cqw; height: 10.1333cqw; margin-right: 2.4cqw; border: 0.266667cqw solid #F2D8C5; border-radius: 50%;}
.view-detail .identity {flex: 1;}
.view-detail .name {color: #35251D; font-size: 4.13333cqw; font-weight: 950;}
.view-detail .source-tag {margin-left: 1.06667cqw; padding: 0.533333cqw 1.2cqw; border-radius: 0.933333cqw; background: #F8ECE3; color: #A97556; font-size: 2.4cqw; font-weight: 700;}
.view-detail .handle {display: block; margin-top: 0.533333cqw; color: #A58F80; font-size: 2.8cqw;}
.view-detail .post-time {display: block; margin-top: 3.6cqw; color: #9B877A; font-size: 2.93333cqw;}
.view-detail .signal-box {display: flex; flex-direction: column; gap: 1.73333cqw; margin-top: 3.46667cqw; padding: 3.06667cqw 3.2cqw; border-left: 0.933333cqw solid #E36C20; border-radius: 0 2.4cqw 2.4cqw 0; background: #FFF3E8;}
.view-detail .signal-tag {align-self: flex-start; padding: 0.8cqw 1.86667cqw; border-radius: 1.2cqw; background: #FFD98A; color: #8D4313; font-size: 2.66667cqw; font-weight: 900;}
.view-detail .signal-title {color: #493226; font-size: 3.86667cqw; font-weight: 900;}
.view-detail .signal-description {color: #816C5D; font-size: 3.06667cqw; line-height: 1.6;}
.view-detail .body-label {display: block; margin-top: 4cqw; color: #A1816D; font-size: 2.8cqw; font-weight: 900;}
.view-detail .post-body {display: block; margin-top: 2cqw; color: #493226; font-size: 3.73333cqw; line-height: 1.75; white-space: pre-wrap;}
.view-detail .original {margin-top: 5.06667cqw;}
.view-detail .original-text {display: block; margin-top: 1.73333cqw; color: #8C7B6F; font-size: 3.06667cqw; line-height: 1.7; white-space: pre-wrap;}
.view-detail .actions {display: flex; gap: 1.6cqw; margin-top: 5.06667cqw; padding-top: 3.33333cqw; border-top: 0.133333cqw solid #F1E4DA;}
.view-detail .action {flex: 1; min-width: 0; height: 9.06667cqw; border-radius: 1.86667cqw; font-size: 2.8cqw; font-weight: 900; line-height: 9.06667cqw; white-space: nowrap;}
.view-detail .action.secondary {background: #FFF0E4; color: #B95A18;}
.view-detail .action.primary {background: #FFD76A; color: #493022;}
.view-detail .action::after {border: 0;}
.view-detail .time-card {margin-top: 2.93333cqw; padding: 3.6cqw 3.73333cqw;}
.view-detail .time-title {display: block; margin-bottom: 2.66667cqw; color: #493226; font-size: 3.46667cqw; font-weight: 900;}
.view-detail .time-row {display: flex; justify-content: space-between; gap: 2.13333cqw; margin-top: 2cqw; color: #9B877A; font-size: 2.93333cqw;}
.view-detail .time-row span:last-child {color: #493226; font-weight: 900;}
.view-detail .time-note {display: block; margin-top: 2.66667cqw; color: #B09D90; font-size: 2.53333cqw;}
.view-detail .disclaimer {display: block; padding: 3.46667cqw 0.8cqw; color: #A18D80; font-size: 2.66667cqw; line-height: 1.6; text-align: center;}
.view-detail .state-card {padding: 6.66667cqw 3.33333cqw; color: #8C7B6F; font-size: 3.2cqw; text-align: center;}
.view-detail .state-link {display: block; margin-top: 2.66667cqw; color: #D9661D; font-weight: 900;}
.view-detail .poster-mask {position: fixed; z-index: 40; top: 0; right: 0; bottom: 0; left: 0; display: flex; align-items: flex-end; background: rgba(47,36,29,.58);}
.view-detail .poster-sheet {display: flex; flex-direction: column; width: 100%; max-height: 90vh; padding: 3.46667cqw 4cqw calc(4.26667cqw + env(safe-area-inset-bottom)); box-sizing: border-box; border-radius: 4.8cqw 4.8cqw 0 0; background: #FFF9F2; box-shadow: 0 -2.13333cqw 6.66667cqw rgba(43,24,12,.15);}
.view-detail .poster-sheet-head {display: flex; align-items: center; justify-content: space-between; margin-bottom: 3.33333cqw;}
.view-detail .poster-sheet-title {color: #38261B; font-size: 4.66667cqw; font-weight: 900;}
.view-detail .poster-close {flex: none; width: 14.4cqw; height: 8cqw; display: flex; align-items: center; justify-content: center; border-radius: 4cqw; background: #F7E9DC; color: #8C6B56; font-size: 3.06667cqw;}
.view-detail .poster-sheet-button::after {border: 0;}
.view-detail .poster-preview {flex: 1; min-height: 0; height: 98.6667cqw; border-radius: 2.93333cqw; background: #F3E6D9; text-align: center;}
.view-detail .poster-preview-image {display: block; width: 59.2cqw; height: auto; margin: 2.66667cqw auto; box-shadow: 0 1.86667cqw 5.06667cqw rgba(106,64,35,.12);}
.view-detail .poster-hint {display: block; margin-top: 2.4cqw; color: #9B6B46; font-size: 2.93333cqw; line-height: 1.5; text-align: center;}
.view-detail .poster-sheet-actions {display: flex; gap: 2.13333cqw; margin-top: 3.33333cqw;}
.view-detail .poster-sheet-button {flex: 1; min-width: 0; height: 11.2cqw; margin: 0; border-radius: 2.26667cqw; font-size: 3.6cqw; font-weight: 900; line-height: 11.2cqw;}
.view-detail .poster-save {background: #FFD76A; color: #493022;}
.view-detail .poster-forward {background: #FFF0E4; color: #B95A18;}


/* Mini program developer guide. */
.guide-overlay {
  position: fixed;
  z-index: 120;
  inset: 0;
  display: flex;
  align-items: flex-end;
  padding: 14px 14px 17px;
  box-sizing: border-box;
  background: rgba(46, 35, 27, .42);
}

.guide-sheet {
  width: 100%;
  max-height: 72vh;
  padding: 17px 15px 15px;
  box-sizing: border-box;
  overflow-y: auto;
  border: 0.5px solid #F0DED0;
  border-radius: 15px;
  background: #FFFDF8;
  box-shadow: 0 9px 28px rgba(57, 37, 22, .2);
  color: #38261B;
}

.guide-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 15px;
}

.guide-kicker,
.guide-title {
  display: block;
}

.guide-kicker {
  color: #B86327;
  font-size: 9.5px;
  font-weight: 900;
  letter-spacing: 2px;
}

.guide-title {
  margin-top: 4px;
  color: #2E4A35;
  font-size: 19px;
  line-height: 1.25;
  font-weight: 950;
}

.guide-close {
  width: 25px;
  height: 25px;
  margin: -2.5px -4px 0 0;
  border-radius: 50%;
  background: #F7EFE5;
  color: #806E60;
  text-align: center;
  line-height: 23px;
  font-size: 18px;
}

.guide-instruction {
  display: block;
  color: #77675A;
  font-size: 12px;
  line-height: 1.5;
}

.search-pill {
  display: flex;
  align-items: center;
  min-height: 46px;
  margin: 7.5px 12px 0 0;
  padding: 0 12px;
  border: 1px solid #E8C55A;
  border-radius: 9.5px;
  background: #FFF1B8;
  box-shadow: 0 2.5px 0 #DCA73C;
}

.search-icon {
  position: relative;
  width: 16px;
  height: 16px;
  margin-right: 9px;
}

.search-lens {
  position: absolute;
  top: 0.5px;
  left: 0.5px;
  width: 10.5px;
  height: 10.5px;
  box-sizing: border-box;
  border: 2px solid #745124;
  border-radius: 50%;
}

.search-handle {
  position: absolute;
  right: 0.5px;
  bottom: 0.5px;
  width: 6.5px;
  height: 2px;
  border-radius: 2px;
  background: #745124;
  transform: rotate(48deg);
  transform-origin: center;
}

.search-name {
  color: #493022;
  font-size: 16px;
  font-weight: 950;
}

.search-type {
  margin-left: auto;
  padding: 3.5px 6.5px;
  border-radius: 10px;
  background: rgba(255, 255, 255, .68);
  color: #8A7047;
  font-size: 9.5px;
  font-weight: 800;
}

.guide-detail {
  display: block;
  margin-top: 12.5px;
  color: #61564C;
  font-size: 11.5px;
  line-height: 1.65;
}

.guide-divider {
  height: 0.5px;
  margin-top: 13.5px;
  background: #EEE3D7;
}

.update-row {
  display: flex;
  align-items: center;
  margin-top: 11.5px;
}

.update-mark {
  width: 4.5px;
  height: 19px;
  margin-right: 7px;
  border-radius: 4px;
  background: #D9661D;
  transform: rotate(8deg);
}

.update-label {
  color: #6E6258;
  font-size: 11px;
}

.update-count {
  margin-left: auto;
  color: #2E4A35;
  font-size: 15px;
  line-height: 1;
  font-weight: 950;
}

.update-unit {
  margin-left: 2px;
  color: #746354;
  font-size: 10px;
  font-weight: 700;
}

.guide-confirm {
  height: 41px;
  margin-top: 15px;
  border: 1px solid #A94F17;
  border-radius: 9px;
  background: #FFD76A;
  box-shadow: 0 3px 0 #8F4318;
  color: #493022;
  text-align: center;
  line-height: 41px;
  font-size: 13px;
  font-weight: 950;
}

.view-radar .count-row { flex-wrap: nowrap; }
.view-radar .reminder-cta, .view-radar .signal, .view-radar .developer-card,
.view-activity .post-summary, .view-activity .post-foot,
.view-mine .reminder-row, .view-mine .menu-row { width: 100%; }
.view-activity .calendar-cell:disabled { cursor: default; color: inherit; }
.view-detail .action { text-align: center; }
.view-radar .count-row .num { font-variant-numeric: tabular-nums; }
.view-radar .forecast-row { gap: 3px; }
.view-radar .forecast-kind, .view-radar .countdown-pill { cursor: pointer; }
.view-activity .calendar-cell.has-event { cursor: pointer; }
.view-activity .post-summary, .view-activity .post-foot, .view-radar .signal, .view-radar .developer-card, .view-mine .reminder-row, .view-mine .menu-row { cursor: pointer; }
.view-detail .post-body, .view-detail .original-text, .view-activity .post-text { white-space: pre-wrap; }
.view-detail .back-link { display: inline-block; margin: 0 0 14px; color: #A94F17; text-decoration: none; font-weight: 800; }
#overlay-root .explain-overlay, #overlay-root .guide-overlay, #overlay-root .poster-mask { position: relative; inset: auto; width: min(100%, 520px); padding: 0; background: transparent; }
#overlay-root .explain-card, #overlay-root .guide-sheet, #overlay-root .poster-sheet { width: 100%; max-height: 85dvh; overflow: auto; padding: 20px; border-radius: 22px 22px 0 0; }
#overlay-root .qr-sheet { width: min(100%, 520px); max-height: min(90dvh, 770px); overflow-y: auto; padding: 19px 24px max(25px, env(safe-area-inset-bottom)); border: 1px solid #F1D9C6; border-radius: 25px 25px 0 0; background: #FFF9F2; box-shadow: 0 -14px 48px #27150938; text-align: center; }
#overlay-root .qr-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 2px; }
#overlay-root .qr-kicker { display: inline-flex; align-items: center; gap: 7px; padding: 6px 10px; border: 1px solid #F1D5B2; border-radius: 20px; background: #FFF0D8; color: #9A4E18; font-size: 12px; font-weight: 900; letter-spacing: .08em; }
#overlay-root .qr-kicker-dot { width: 7px; height: 7px; border-radius: 50%; background: #E87324; box-shadow: 0 0 0 3px #FFD7AF; }
#overlay-root .qr-sheet h2 { margin: 7px 0 7px; color: #422A1D; font-size: 23px; font-weight: 950; letter-spacing: .02em; }
#overlay-root .qr-sheet .qr-intro { max-width: 335px; margin: 0 auto; color: #805B41; font-size: 13px; line-height: 1.6; }
#overlay-root .qr-code-card { width: fit-content; max-width: 100%; margin: 17px auto 14px; padding: 12px 12px 10px; border: 1px solid #F1D9C6; border-radius: 22px; background: #FFFFFF; box-shadow: 0 10px 24px #974a1814; }
#overlay-root .qr-code-frame { display: flex; align-items: center; justify-content: center; width: min(67vw, 264px); height: min(67vw, 264px); background: #FFFFFF; }
#overlay-root .qr-code-frame img { display: block; width: 100%; height: 100%; object-fit: contain; background: #FFFFFF; }
#overlay-root .qr-code-caption { display: block; margin-top: 4px; color: #AA754A; font-size: 11px; font-weight: 800; letter-spacing: .06em; }
#overlay-root .qr-sheet #qr-fallback { max-width: 270px; padding: 10px; color: #805421; font-size: 13px; line-height: 1.5; }
#overlay-root .qr-sheet .close { flex: none; width: 36px; height: 36px; border-radius: 50%; background: #F7E9DC; color: #6C4935; text-align: center; line-height: 1; font-size: 26px; }
#overlay-root .qr-steps { display: flex; justify-content: center; flex-wrap: wrap; gap: 9px; }
#overlay-root .qr-steps div { display: inline-flex; align-items: center; gap: 7px; padding: 9px 11px; border-radius: 9px; background: #FFF0E1; color: #5A3826; font-size: 12px; font-weight: 800; }
#overlay-root .qr-step-num { color: #D9661D; font-size: 12px; font-weight: 950; }
#overlay-root .qr-sheet .qr-hint { max-width: 360px; margin: 14px auto 0; color: #987D6B; font-size: 11px; line-height: 1.5; }
#overlay-root .qr-sheet .download-code { display: block; width: min(100%, 280px); margin: 15px auto 0; padding: 11px 17px; border: 1px solid #A94F17; border-radius: 11px; background: #FFD76A; box-shadow: 0 3px 0 #8F4318; color: #493022; text-align: center; text-decoration: none; font-size: 13px; font-weight: 900; }
@media (min-width: 700px) { #overlay-root { align-items: center; } #overlay-root .qr-sheet { border-radius: 25px; padding-bottom: 25px; } }
@media (min-width: 700px) and (max-height: 700px) {
  #overlay-root .qr-code-frame { width: 216px; height: 216px; }
  #overlay-root .qr-code-card { margin-top: 12px; margin-bottom: 10px; }
  #overlay-root .qr-sheet .qr-hint { margin-top: 10px; }
  #overlay-root .qr-sheet .download-code { margin-top: 10px; }
}
#overlay-root .poster-preview-image { width: min(70vw, 270px); height: auto; }
#overlay-root .poster-sheet-actions { display: flex; gap: 10px; }
#overlay-root .poster-sheet-button { height: 42px; line-height: 42px; }
#overlay-root .explain-card { background: #2E4A35; color: #fff; box-shadow: 0 -10px 30px #172e2070; }
#overlay-root .explain-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
#overlay-root .explain-title { font-size: 18px; font-weight: 900; }
#overlay-root .explain-close { color: #D8E4D7; font-size: 28px; line-height: 1; }
#overlay-root .explain-paragraph { display: block; margin: 12px 0 0; color: #F8FBF7; font-size: 14px; line-height: 1.75; }
#overlay-root .explain-confirm { display: block; width: 120px; height: 39px; margin: 18px auto 0; border-radius: 22px; background: #FFF4D5; color: #31513A; text-align: center; font-size: 14px; font-weight: 900; }
#overlay-root .poster-sheet { display: flex; flex-direction: column; background: #FFF9F2; box-shadow: 0 -10px 30px #2b180c55; }
#overlay-root .poster-sheet-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
#overlay-root .poster-sheet-title { font-size: 19px; font-weight: 900; }
#overlay-root .poster-close { padding: 7px 15px; border-radius: 20px; background: #F7E9DC; color: #8C6B56; font-size: 13px; }
#overlay-root .poster-preview { min-height: 0; overflow: auto; border-radius: 12px; background: #F3E6D9; text-align: center; }
#overlay-root .poster-preview-image { display: block; margin: 12px auto; box-shadow: 0 7px 19px #6a40231f; }
#overlay-root .poster-sheet-actions { flex: none; margin-top: 14px; }
#overlay-root .poster-sheet-button { flex: 1; border-radius: 9px; font-size: 14px; font-weight: 900; text-align: center; text-decoration: none; }
#overlay-root .poster-save { background: #FFD76A; color: #493022; }
#overlay-root .poster-forward { background: #FFF0E4; color: #B95A18; }
#overlay-root .guide-sheet { background: #FFF9F2; }
#overlay-root .guide-close { background: transparent; }
#overlay-root .guide-confirm { display: block; width: 100%; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; } }
