:root {
  --feed-accent: #117968;
  --feed-accent-dark: #0b5e51;
  --feed-ink: #17201f;
  --feed-muted: #6e7875;
  --feed-line: #dfe5e3;
  --feed-bg: #f2f5f4;
  --feed-white: #fff;
  --feed-warm: #dc9a22;
  --feed-danger: #b8443d;
}

.feed-page,
.feed-route,
.feed-order-page,
.feed-checkout-page {
  position: fixed;
  inset: 0;
  z-index: 720000;
  overflow: hidden;
  color: var(--feed-ink);
  background: var(--feed-bg);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  letter-spacing: 0;
}

.feed-page *, .feed-route *, .feed-sheet *, .feed-order-page *, .feed-checkout-page * { box-sizing: border-box; letter-spacing: 0; }
button, input, textarea, select { font: inherit; }

.feed-page { display: flex; flex-direction: column; }
.feed-order-page { display: flex; flex-direction: column; background: #f4f6f8; }
.feed-order-header { flex: 0 0 auto; padding: calc(.8rem + env(safe-area-inset-top)) .9rem .75rem; background: #fff; border-bottom: 1px solid #e8ecef; }
.feed-order-header h1 { margin: 0 0 .65rem; font-size: 1.12rem; }
.feed-order-search { height: 2.45rem; display: grid; grid-template-columns: minmax(0, 1fr) 2.7rem; overflow: hidden; border: 1px solid #dfe4e8; border-radius: .35rem; background: #f5f7f8; }
.feed-order-search input { min-width: 0; padding: 0 .75rem; border: 0; outline: 0; background: transparent; font-size: .78rem; }
.feed-order-search button { display: grid; place-items: center; border: 0; color: #fff; background: #15191d; }
.feed-order-search button .uvicon { font-family: uvicon-iconfont; font-size: 1.15rem; font-weight: normal; line-height: 1; }
.feed-order-main { min-height: 0; flex: 1; overflow-y: auto; padding-bottom: 5.4rem; }
.feed-order-filter { position: sticky; top: 0; z-index: 3; padding: .65rem .75rem .5rem; border-bottom: 1px solid #e6eaed; background: rgba(255,255,255,.97); }
.feed-order-categories, .feed-order-subcategories, .feed-order-sorts { display: flex; gap: .42rem; overflow-x: auto; scrollbar-width: none; }
.feed-order-categories::-webkit-scrollbar, .feed-order-subcategories::-webkit-scrollbar, .feed-order-sorts::-webkit-scrollbar { display: none; }
.feed-order-categories button, .feed-order-subcategories button, .feed-order-sorts button { flex: 0 0 auto; height: 1.95rem; padding: 0 .7rem; border: 1px solid #dfe4e7; border-radius: .25rem; color: #626b70; background: #fff; font-size: .68rem; white-space: nowrap; }
.feed-order-categories button.is-active { border-color: #15191d; color: #fff; background: #15191d; }
.feed-order-subcategories { margin-top: .45rem; }
.feed-order-subcategories button { height: 1.7rem; border: 0; background: #f0f3f5; }
.feed-order-subcategories button.is-active { color: #15191d; background: #dcebf8; font-weight: 650; }
.feed-order-sorts { margin-top: .55rem; border-top: 1px solid #edf0f2; padding-top: .5rem; }
.feed-order-sorts button { height: 1.6rem; padding: 0 .42rem; border: 0; background: transparent; }
.feed-order-sorts button.is-active { color: #4a90d9; font-weight: 700; }
.feed-order-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; padding: .65rem; }
.feed-order-card { min-width: 0; overflow: hidden; border: 1px solid #e3e7e9; border-radius: .35rem; background: #fff; box-shadow: 0 .1rem .35rem rgba(34,47,55,.05); cursor: pointer; }
.feed-order-cover { width: 100%; aspect-ratio: 1.18; overflow: hidden; background: #edf1f3; }
.feed-order-cover img { width: 100%; height: 100%; display: block; object-fit: cover; }
.feed-order-card-body { padding: .6rem; }
.feed-order-card h2 { min-height: 2.2em; margin: 0; overflow: hidden; color: #20262a; font-size: .78rem; line-height: 1.35; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.feed-order-card p { height: 2.7em; margin: .3rem 0 .5rem; overflow: hidden; color: #858d91; font-size: .62rem; line-height: 1.35; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.feed-order-card-body > div { display: flex; align-items: flex-end; justify-content: space-between; gap: .25rem; }
.feed-order-card strong { color: #e04c43; font-size: .9rem; }
.feed-order-card strong small { font-size: .6rem; }
.feed-order-card span { color: #92999d; font-size: .57rem; white-space: nowrap; }
.feed-order-empty { grid-column: 1 / -1; min-height: 14rem; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .35rem; color: #8a9296; font-size: .7rem; text-align: center; }
.feed-order-empty strong { color: #50595e; font-size: .85rem; }
.feed-checkout-page { display: flex; flex-direction: column; background: #f4f6f8; }
.feed-checkout-header {
  min-height: calc(3.35rem + env(safe-area-inset-top));
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr) 2.5rem;
  align-items: end;
  flex: 0 0 auto;
  padding: env(safe-area-inset-top) .7rem .55rem;
  border-bottom: 1px solid #e3e7e9;
  background: #fff;
}
.feed-checkout-header h1 { align-self: center; margin: 0; font-size: .98rem; text-align: center; }
.feed-checkout-header button { width: 2.3rem; height: 2.3rem; display: grid; place-items: center; padding: 0; border: 0; background: transparent; }
.feed-checkout-header button span { width: .72rem; height: .72rem; display: block; border-bottom: .12rem solid #26302e; border-left: .12rem solid #26302e; transform: rotate(45deg); }
.feed-checkout-main { min-height: 0; flex: 1; overflow-y: auto; padding: .65rem 0 calc(.8rem + env(safe-area-inset-bottom)); overscroll-behavior: contain; }
.feed-checkout-product { display: grid; grid-template-columns: 5rem minmax(0, 1fr); gap: .8rem; padding: .85rem; border-top: 1px solid #e4e8ea; border-bottom: 1px solid #e4e8ea; background: #fff; }
.feed-checkout-product-image { width: 5rem; aspect-ratio: 1; overflow: hidden; align-self: start; border: 1px solid #e1e6e8; border-radius: .3rem; background: #edf1f3; }
.feed-checkout-product-image img { width: 100%; height: 100%; display: block; object-fit: cover; }
.feed-checkout-product h2 { margin: 0; overflow-wrap: anywhere; font-size: .86rem; line-height: 1.4; }
.feed-checkout-product p { margin: .25rem 0; display: -webkit-box; overflow: hidden; color: #737d81; font-size: .67rem; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.feed-checkout-product-meta { display: block; margin-top: .28rem; color: #849097; font-size: .62rem; }
.feed-checkout-product strong { display: block; margin-top: .35rem; color: #d7473f; font-size: .9rem; }
.feed-checkout-form { margin-top: .65rem; }
.feed-checkout-section { padding: .85rem; border-top: 1px solid #e4e8ea; border-bottom: 1px solid #e4e8ea; background: #fff; }
.feed-checkout-section + .feed-checkout-section { margin-top: .65rem; }
.feed-checkout-section h2 { margin: 0 0 .55rem; font-size: .82rem; }
.feed-checkout-field { min-height: 2.8rem; display: grid; grid-template-columns: 4.5rem minmax(0, 1fr); align-items: center; gap: .55rem; border-bottom: 1px solid #edf0f2; color: #4c575b; font-size: .7rem; }
.feed-checkout-field > span { white-space: nowrap; }
.feed-checkout-field > input { width: 100%; min-width: 0; height: 2.2rem; padding: 0 .55rem; border: 1px solid #dfe4e6; border-radius: .25rem; outline: 0; background: #f8f9fa; color: #252e31; font-size: .72rem; }
.feed-checkout-field > input:focus { border-color: #117968; background: #fff; }
.feed-checkout-field > input:disabled { color: #6f797d; background: #eef1f2; }
.feed-checkout-segmented { height: 2.15rem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: hidden; border: 1px solid #d9e0e2; border-radius: .25rem; }
.feed-checkout-segmented button { min-width: 0; padding: 0 .4rem; border: 0; border-right: 1px solid #d9e0e2; color: #687277; background: #f8f9fa; font-size: .68rem; }
.feed-checkout-segmented button:last-child { border-right: 0; }
.feed-checkout-segmented button.is-active { color: #fff; background: #117968; font-weight: 700; }
.feed-checkout-segmented button:disabled { cursor: default; opacity: .72; }
.feed-checkout-pay { min-height: 2.7rem; display: flex; align-items: center; gap: .55rem; border-bottom: 1px solid #edf0f2; color: #313a3e; font-size: .75rem; }
.feed-checkout-pay input, .feed-checkout-agreement input { width: 1rem; height: 1rem; flex: 0 0 auto; accent-color: #117968; }
.feed-checkout-agreement { display: flex; align-items: flex-start; gap: .5rem; padding-top: .75rem; color: #707a7e; font-size: .65rem; line-height: 1.5; }
.feed-checkout-unavailable { margin: .65rem .85rem 0; color: #b8443d; font-size: .68rem; }
.feed-checkout-footer { position: sticky; z-index: 3; bottom: -.8rem; min-height: calc(4.15rem + env(safe-area-inset-bottom)); display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; margin-top: .65rem; padding: .72rem .85rem calc(.72rem + env(safe-area-inset-bottom)); border-top: 1px solid #dfe4e6; background: rgba(255, 255, 255, .98); box-shadow: 0 -.2rem .65rem rgba(29, 39, 43, .06); }
.feed-checkout-footer > span { min-width: 0; padding-top: .55rem; color: #6f797d; font-size: .67rem; white-space: nowrap; }
.feed-checkout-footer strong { color: #d7473f; font-size: .85rem; }
.feed-checkout-footer b { font-size: 1.05rem; }
.feed-checkout-footer button { min-width: 7.2rem; height: 2.65rem; padding: 0 .85rem; border: 0; border-radius: .3rem; color: #fff; background: #117968; font-size: .76rem; font-weight: 700; white-space: nowrap; }
.feed-checkout-footer button:disabled { background: #aeb8b5; }
.feed-header {
  min-height: calc(3.65rem + env(safe-area-inset-top));
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: .75rem;
  padding: env(safe-area-inset-top) 1rem .72rem;
  border-bottom: 1px solid var(--feed-line);
  background: rgba(255, 255, 255, .97);
}
.feed-brand { min-width: 0; }
.feed-brand strong { display: block; font-size: 1.08rem; line-height: 1.2; font-weight: 750; }
.feed-location {
  max-width: 12rem;
  display: flex;
  align-items: center;
  gap: .25rem;
  margin-top: .18rem;
  padding: 0;
  border: 0;
  color: var(--feed-muted);
  background: none;
  font-size: .7rem;
  line-height: 1.35;
  text-align: left;
}
.feed-location span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.feed-location-mark { position: relative; width: .72rem; height: .72rem; flex: 0 0 .72rem; display: inline-block; border: .09rem solid currentColor; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); }
.feed-location-mark::after { position: absolute; top: 50%; left: 50%; width: .2rem; height: .2rem; content: ''; border-radius: 50%; background: currentColor; transform: translate(-50%, -50%); }
.feed-publish-button {
  width: 2.55rem;
  height: 2.55rem;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  color: #fff;
  background: var(--feed-accent);
  box-shadow: 0 .18rem .55rem rgba(17, 121, 104, .24);
  font-size: 1.45rem;
  line-height: 1;
}
.feed-tabs {
  height: 2.85rem;
  display: flex;
  align-items: center;
  gap: 1.4rem;
  flex: 0 0 auto;
  padding: 0 1rem;
  border-bottom: 1px solid var(--feed-line);
  background: #fff;
}
.feed-tab { height: 100%; padding: 0 .1rem; border: 0; border-bottom: .14rem solid transparent; color: var(--feed-muted); background: none; font-size: .82rem; }
.feed-tab.is-active { border-bottom-color: var(--feed-accent); color: var(--feed-ink); font-weight: 700; }
.feed-list { min-height: 0; flex: 1; overflow-y: auto; padding: .55rem .65rem 5.35rem; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.feed-card { margin-bottom: .55rem; border: 1px solid var(--feed-line); border-radius: .3rem; background: #fff; box-shadow: 0 .08rem .25rem rgba(24, 40, 37, .035); }
.feed-card-head { display: grid; grid-template-columns: 2.45rem minmax(0, 1fr) auto; gap: .65rem; align-items: center; padding: .8rem .8rem .55rem; }
.feed-user-avatar { position: relative; display: grid; place-items: center; flex: 0 0 auto; overflow: hidden; border: 1px solid #e4e9e7; border-radius: 50%; color: #6d7c78; background: #e8eceb; isolation: isolate; }
.feed-user-avatar img { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; display: block; border-radius: inherit; object-fit: cover; }
.feed-avatar-fallback { max-width: 100%; overflow: hidden; font-size: .72em; font-weight: 700; line-height: 1; text-transform: uppercase; }
.feed-user-avatar[data-avatar-frame="gold"] { border-color: #f0b323; box-shadow: 0 0 0 .1875rem #fff2b8, 0 0 0 .3125rem #d89a12; }
.feed-user-avatar[data-avatar-frame="rose"] { border-color: #f25f80; box-shadow: 0 0 0 .1875rem #ffe0e7, 0 0 0 .3125rem #e3436b; }
.feed-user-avatar[data-avatar-frame="blue"] { border-color: #3595e6; box-shadow: 0 0 0 .1875rem #dcedff, 0 0 0 .3125rem #1b72ba; }
.feed-user-avatar[data-avatar-frame="cosmic"] { border-color: #7659bf; box-shadow: 0 0 0 .1875rem #f3d8ff, 0 0 0 .3125rem #4f83d7; }
.feed-avatar { width: 2.45rem; height: 2.45rem; }
.feed-author { min-width: 0; }
.feed-author strong { display: block; overflow: hidden; font-size: .83rem; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.feed-author-meta { display: flex; gap: .4rem; margin-top: .2rem; color: var(--feed-muted); font-size: .64rem; line-height: 1.3; }
.feed-card-menu { width: 2rem; height: 2rem; padding: 0; border: 0; color: #737c79; background: none; font-size: 1.15rem; }
.feed-content { display: block; padding: 0 .8rem .7rem; color: #242d2b; font-size: .84rem; line-height: 1.65; white-space: pre-wrap; overflow-wrap: anywhere; }
.feed-media { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .15rem; padding: 0 .8rem .75rem; }
.feed-media.is-one { grid-template-columns: minmax(0, 1fr); }
.feed-photo { width: 100%; aspect-ratio: 1; display: block; border: 0; padding: 0; overflow: hidden; background: #e7ecea; }
.feed-media.is-one .feed-photo { max-height: 27rem; aspect-ratio: auto; }
.feed-photo img { width: 100%; height: 100%; min-height: 7rem; display: block; object-fit: cover; }
.feed-media.is-one .feed-photo img { height: auto; max-height: 27rem; object-fit: contain; background: #f0f3f2; }
.feed-video { width: 100%; max-height: 30rem; display: block; background: #111; }
.feed-stats { display: flex; justify-content: space-between; padding: .45rem .8rem; border-top: 1px solid #edf0ef; color: var(--feed-muted); font-size: .64rem; }
.feed-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid #edf0ef; }
.feed-action { height: 2.65rem; padding: 0; border: 0; border-right: 1px solid #edf0ef; color: #5b6663; background: #fff; font-size: .74rem; }
.feed-action:last-child { border-right: 0; }
.feed-action.is-active { color: var(--feed-danger); font-weight: 650; }
.feed-empty, .feed-loading { min-height: 15rem; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .45rem; padding: 2rem; color: var(--feed-muted); font-size: .75rem; text-align: center; }
.feed-empty strong { color: #46514e; font-size: .92rem; }
.feed-spinner { width: 1.35rem; height: 1.35rem; border: .11rem solid #cad3d0; border-top-color: var(--feed-accent); border-radius: 50%; animation: feed-spin .8s linear infinite; }
@keyframes feed-spin { to { transform: rotate(360deg); } }

.feed-bottom-nav {
  z-index: 720020;
}
.feed-bottom-nav .tabbar-item { cursor: pointer; }
.feed-bottom-nav .uv-icon__icon { color: #666; }
.feed-bottom-nav .icon-wrapper.active .uv-icon__icon { color: #fff; }
.feed-bottom-nav .tabbar-text.nor { color: #999; }
.feed-bottom-nav .tabbar-text.sel { color: #4a90d9; font-weight: 600; }
.feed-ranking-icon { width: 1.625rem; height: 1.625rem; display: block; object-fit: contain; }
.feed-badge { position: absolute; top: -.24rem; right: -.32rem; min-width: 1rem; height: 1rem; display: grid; place-items: center; padding: 0 .22rem; border: .1rem solid #fff; border-radius: .55rem; color: #fff; background: #d74d45; font-size: .52rem; line-height: 1; font-style: normal; font-weight: 700; }

.feed-sheet-backdrop { position: fixed; z-index: 880000; inset: 0; background: rgba(14, 20, 19, .46); }
.feed-sheet { position: fixed; z-index: 880010; left: 0; right: 0; bottom: 0; max-height: 91vh; overflow-y: auto; border-radius: .55rem .55rem 0 0; background: #fff; box-shadow: 0 -.35rem 1.2rem rgba(10, 20, 18, .16); }
.feed-sheet-head { position: sticky; top: 0; z-index: 2; height: 3.25rem; display: grid; grid-template-columns: 3rem minmax(0, 1fr) 3rem; align-items: center; padding: 0 .6rem; border-bottom: 1px solid var(--feed-line); background: #fff; }
.feed-sheet-head h2 { margin: 0; font-size: .96rem; text-align: center; }
.feed-sheet-head button { height: 2.25rem; padding: 0; border: 0; color: var(--feed-muted); background: none; }
.feed-sheet-head .feed-sheet-submit { color: var(--feed-accent); font-weight: 700; }
.feed-compose { padding: .8rem .85rem calc(1rem + env(safe-area-inset-bottom)); }
.feed-compose textarea { width: 100%; min-height: 8rem; resize: vertical; padding: .7rem 0; border: 0; outline: 0; color: var(--feed-ink); background: #fff; font-size: .88rem; line-height: 1.65; }
.feed-char-count { display: block; color: #99a19f; font-size: .62rem; text-align: right; }
.feed-preview-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .35rem; margin-top: .65rem; }
.feed-preview { position: relative; aspect-ratio: 1; overflow: hidden; background: #e9edec; }
.feed-preview img, .feed-preview video { width: 100%; height: 100%; display: block; object-fit: cover; }
.feed-preview button { position: absolute; top: .2rem; right: .2rem; width: 1.35rem; height: 1.35rem; padding: 0; border: 0; border-radius: 50%; color: #fff; background: rgba(20, 26, 25, .75); }
.feed-compose-tools { display: flex; gap: .55rem; margin-top: .8rem; padding-top: .8rem; border-top: 1px solid var(--feed-line); }
.feed-tool { min-width: 5.2rem; height: 2.35rem; padding: 0 .75rem; border: 1px solid var(--feed-line); border-radius: .25rem; color: #3f4b48; background: #f8faf9; font-size: .72rem; }
.feed-compose-note { margin: .65rem 0 0; color: var(--feed-muted); font-size: .64rem; line-height: 1.55; }

.feed-comments { padding-bottom: env(safe-area-inset-bottom); }
.feed-comments-list { min-height: 12rem; max-height: 54vh; overflow-y: auto; padding: .35rem .85rem; }
.feed-comment-thread { border-bottom: 1px solid #edf0ef; }
.feed-comment { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: .55rem; padding: .65rem 0; }
.feed-comment-avatar { width: 2rem; height: 2rem; background: #e6ebe9; }
.feed-comment-body { min-width: 0; }
.feed-comment-name { color: #536460; font-size: .68rem; font-weight: 650; }
.feed-comment-content { margin-top: .18rem; font-size: .76rem; line-height: 1.55; overflow-wrap: anywhere; }
.feed-comment-target { color: #77817e; }
.feed-comment-meta { min-height: 1.25rem; display: flex; align-items: center; justify-content: space-between; gap: .7rem; margin-top: .28rem; color: #929b98; font-size: .6rem; }
.feed-comment-actions { display: flex; align-items: center; gap: .8rem; }
.feed-comment-reply { padding: 0; border: 0; color: var(--feed-accent); background: none; }
.feed-comment-like { min-width: 2.15rem; height: 1.25rem; display: inline-flex; align-items: center; justify-content: flex-end; gap: .18rem; padding: 0; border: 0; color: #7f8986; background: none; font-size: .66rem; }
.feed-comment-like span { font-size: .8rem; }
.feed-comment-like b { min-width: .5rem; font: inherit; }
.feed-comment-like.is-active { color: var(--feed-danger); }
.feed-comment-replies { margin-left: 2.55rem; padding-left: .65rem; border-left: 2px solid #edf0ef; }
.feed-comment.is-reply { grid-template-columns: 1.65rem minmax(0, 1fr); padding: .5rem 0; }
.feed-comment.is-reply + .feed-comment.is-reply { border-top: 1px solid #f1f3f2; }
.feed-comment.is-reply .feed-comment-avatar { width: 1.65rem; height: 1.65rem; }
.feed-comment-replying { min-height: 2rem; display: flex; align-items: center; justify-content: space-between; padding: .35rem .85rem 0; color: #68736f; background: #fff; font-size: .66rem; }
.feed-comment-replying[hidden] { display: none; }
.feed-comment-replying button { width: 1.8rem; height: 1.8rem; padding: 0; border: 0; color: #7d8784; background: none; font-size: 1rem; }
.feed-comment-form { display: grid; grid-template-columns: minmax(0, 1fr) 3.8rem; gap: .55rem; padding: .65rem .85rem; border-top: 1px solid var(--feed-line); background: #fff; }
.feed-comment-form input { min-width: 0; height: 2.45rem; padding: 0 .7rem; border: 1px solid var(--feed-line); border-radius: .25rem; outline: 0; background: #f6f8f7; font-size: .74rem; }
.feed-comment-form button { border: 0; border-radius: .25rem; color: #fff; background: var(--feed-accent); font-size: .72rem; }

.feed-report { padding: .75rem .85rem calc(1rem + env(safe-area-inset-bottom)); }
.feed-report-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem; }
.feed-report-option { height: 2.55rem; border: 1px solid var(--feed-line); border-radius: .25rem; color: #4d5956; background: #f8faf9; font-size: .72rem; }
.feed-report-option.is-active { border-color: var(--feed-accent); color: var(--feed-accent-dark); background: #edf7f4; }
.feed-report textarea { width: 100%; min-height: 5.5rem; margin-top: .7rem; padding: .65rem; resize: vertical; border: 1px solid var(--feed-line); border-radius: .25rem; outline: 0; font-size: .74rem; line-height: 1.55; }
.feed-primary { width: 100%; height: 2.65rem; margin-top: .7rem; border: 0; border-radius: .25rem; color: #fff; background: var(--feed-accent); font-size: .76rem; font-weight: 700; }

.feed-region { padding: .8rem .85rem calc(1rem + env(safe-area-inset-bottom)); }
.feed-locate-button { width: 100%; height: 3rem; display: flex; align-items: center; justify-content: center; gap: .45rem; border: 1px solid var(--feed-accent); border-radius: .25rem; color: var(--feed-accent-dark); background: #f2faf7; }
.feed-locate-button .feed-location-mark { width: .82rem; height: .82rem; flex-basis: .82rem; }
.feed-locate-button strong { font-size: .76rem; }
.feed-location-status { min-height: 1.1rem; display: block; padding-top: .35rem; color: #7c8784; font-size: .64rem; line-height: 1.45; text-align: center; }
.feed-region-divider { display: flex; align-items: center; gap: .55rem; margin: .4rem 0 .75rem; color: #9aa29f; font-size: .62rem; }
.feed-region-divider::before, .feed-region-divider::after { height: 1px; flex: 1; content: ''; background: var(--feed-line); }
.feed-region-field { margin-bottom: .7rem; }
.feed-region-field label { display: block; margin-bottom: .3rem; color: var(--feed-muted); font-size: .66rem; }
.feed-region-field select { width: 100%; height: 2.65rem; padding: 0 .65rem; border: 1px solid var(--feed-line); border-radius: .25rem; color: var(--feed-ink); background: #fff; font-size: .76rem; }
.feed-location-consent { display: flex; flex-direction: column; align-items: center; padding: 1.15rem 1rem calc(1rem + env(safe-area-inset-bottom)); text-align: center; }
.feed-location-consent-icon { width: 3rem; height: 3rem; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--feed-accent); }
.feed-location-consent-icon .feed-location-mark { width: 1.05rem; height: 1.05rem; flex-basis: 1.05rem; border-width: .13rem; }
.feed-location-consent strong { margin-top: .7rem; font-size: .9rem; }
.feed-location-consent p { max-width: 21rem; margin: .4rem 0 .15rem; color: #6f7a77; font-size: .68rem; line-height: 1.55; }
.feed-location-consent .feed-primary { max-width: 21rem; }
.feed-location-skip { height: 2.2rem; margin-top: .25rem; padding: 0 1rem; border: 0; color: #7a8582; background: none; font-size: .7rem; }

.feed-toast { position: fixed; z-index: 990000; left: 50%; bottom: 6.5rem; max-width: min(86vw, 22rem); transform: translateX(-50%); padding: .62rem .82rem; border-radius: .3rem; color: #fff; background: rgba(22, 30, 28, .92); font-size: .72rem; line-height: 1.45; text-align: center; }
.feed-preview-overlay { position: fixed; z-index: 940000; inset: 0; display: grid; place-items: center; padding: 1rem; border: 0; background: rgba(0, 0, 0, .9); }
.feed-preview-overlay img { max-width: 100%; max-height: 100%; object-fit: contain; }

.feed-notice-header { min-height: calc(3.6rem + env(safe-area-inset-top)); display: grid; grid-template-columns: 2.6rem minmax(0, 1fr) 3rem; align-items: end; padding: env(safe-area-inset-top) .7rem .65rem; border-bottom: 1px solid var(--feed-line); background: #fff; }
.feed-notice-header h1 { margin: 0; font-size: .98rem; text-align: center; }
.feed-notice-header button { height: 2.2rem; padding: 0; border: 0; color: #53605d; background: none; }
.feed-notice-list { height: calc(100vh - 7.4rem - env(safe-area-inset-top) - env(safe-area-inset-bottom)); overflow-y: auto; padding: .55rem .65rem 4.5rem; }
.feed-notice-item { width: 100%; display: grid; grid-template-columns: 2.55rem minmax(0, 1fr) 3rem; gap: .65rem; align-items: center; margin-bottom: .45rem; padding: .75rem; border: 1px solid var(--feed-line); border-radius: .3rem; color: inherit; background: #fff; text-align: left; }
.feed-notice-item.is-unread { border-left: .18rem solid var(--feed-accent); }
.feed-notice-avatar { width: 2.55rem; height: 2.55rem; background: #e4e9e7; }
.feed-notice-copy { min-width: 0; }
.feed-notice-copy strong { display: block; overflow: hidden; font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.feed-notice-copy p { margin: .2rem 0 0; display: -webkit-box; overflow: hidden; color: #5e6966; font-size: .68rem; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.feed-notice-copy time { display: block; margin-top: .2rem; color: #969e9c; font-size: .58rem; }
.feed-notice-cover { width: 3rem; height: 3rem; object-fit: cover; border-radius: .2rem !important; }
.feed-notice-text-cover { width: 3rem; height: 3rem; display: -webkit-box; overflow: hidden; padding: .25rem; color: #77807e; background: #eef1f0; font-size: .55rem; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }

.feed-message-tab { position: relative; }
.msg-classify-list.feed-has-interaction .msg-classify-item { padding-left: .3rem !important; padding-right: .3rem !important; }
.msg-classify-list.feed-has-interaction .msg-classify-item-name { font-size: .68rem !important; white-space: nowrap; }
.feed-message-tab .feed-inline-badge { position: absolute; top: -.35rem; right: -.45rem; min-width: 1rem; height: 1rem; display: grid; place-items: center; padding: 0 .18rem; border-radius: .55rem; color: #fff; background: #d74d45; font-size: .5rem; }
.feed-message-tab .feed-inline-badge[hidden] { display: none; }
.feed-interaction-panel { width: 100%; box-sizing: border-box; }
.msg-session-box[hidden] { display: none !important; }
.feed-interaction-toolbar { width: 100%; display: flex; align-items: center; justify-content: space-between; padding-bottom: .75rem; border-bottom: 1px solid rgba(150, 165, 175, .2); }
.feed-interaction-toolbar strong { font-size: .86rem; }
.feed-interaction-toolbar button { padding: .3rem 0 .3rem .7rem; border: 0; color: #4a90d9; background: transparent; font-size: .7rem; }
.feed-interaction-list { width: 100%; }
.feed-interaction-list .feed-notice-item { padding-left: 0; padding-right: 0; }
.feed-interaction-loading, .feed-interaction-empty { width: 100%; min-height: 12rem; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .35rem; color: #89918f; font-size: .7rem; text-align: center; }
.feed-interaction-empty strong { color: #4f5957; font-size: .82rem; }

@media (min-width: 720px) {
  .feed-page, .feed-route, .feed-order-page, .feed-checkout-page { left: 50%; width: 32rem; transform: translateX(-50%); box-shadow: 0 0 1.5rem rgba(25, 40, 37, .12); }
  .feed-sheet { left: 50%; width: 32rem; right: auto; transform: translateX(-50%); }
}
