:root {
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  color: #252525;
  --red: #ff2442;
  --muted: #777;
  --line: #efefef;
  --canvas: #f6f6f6;
}
* {box-sizing:border-box}
body {margin:0;background:#ecebe8}
button,input,textarea {font:inherit;color:inherit}
button {padding:0;border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
button:focus-visible,input:focus-visible,textarea:focus-visible {outline:2px solid #d82647;outline-offset:2px}
img {display:block}
.demo-stage {height:100dvh;display:flex;align-items:center;justify-content:center;overflow:hidden}
.device {padding:8px;width:406px;height:860px;border-radius:54px;background:#242424;box-shadow:0 12px 44px #0002}
.device-screen {position:relative;height:844px;width:390px;border-radius:46px;overflow:hidden;background:white}
.systembar {display:flex;align-items:center;justify-content:space-between;height:50px;padding:0 28px;position:relative;font-weight:650;font-size:13px;background:white}
.systembar i {width:111px;height:29px;border-radius:40px;position:absolute;left:50%;top:9px;transform:translateX(-50%);background:#101010}
.device-screen:has(.channel) .systembar,.app-head {background:#fff6ed}
#header {position:absolute;top:50px;left:0;right:0}
.app-head {height:45px;display:flex;align-items:center;gap:8px;padding:0 13px}
h1 {font-size:21px;line-height:1.3;margin:0;font-weight:700;letter-spacing:-.5px}
.back {font-size:32px;line-height:1;width:25px;text-align:left}
.journal-button {margin-left:auto;font-size:13px;color:#614b40;background:#fff;border-radius:20px;padding:7px 11px}
.app-scroll {position:absolute;inset:50px 0 75px;overflow:auto;overscroll-behavior:contain;scrollbar-width:none}
.app-scroll::-webkit-scrollbar,.store-nav::-webkit-scrollbar,.categories::-webkit-scrollbar {display:none}
.app-scroll.channel {top:95px;bottom:17px;background:var(--canvas)}
.home-indicator {position:absolute;bottom:6px;left:50%;transform:translateX(-50%);width:116px;height:4px;border-radius:8px;background:#171717;z-index:6}
.app-bottom {position:absolute;bottom:16px;width:100%;height:57px;display:flex;align-items:center;justify-content:space-around;background:white;border-top:1px solid var(--line);font-size:15px}
.app-bottom[hidden] {display:none}
.add {background:var(--red);border-radius:10px;color:white;padding:0 10px;font-size:26px;line-height:29px}
.searchbar {display:flex;align-items:center;justify-content:space-between;border-radius:22px;background:#f6f6f6;margin:8px 14px;padding:10px 14px;font-size:14px}
.searchbar span {color:#999}.searchbar b {font-weight:500}
.categories {display:flex;justify-content:space-between;gap:12px;padding:7px 14px;white-space:nowrap;overflow-x:auto;scrollbar-width:none}
.categories span {flex:none;font-size:15px;line-height:30px}.categories span:first-child {font-weight:700}
.channel-grid {display:grid;grid-template-columns:repeat(5,1fr);gap:14px 0;padding:13px 5px 17px}
.channel-grid button {font-size:11px;white-space:nowrap}
.channel-grid i {display:block;font-style:normal;font-size:26px;line-height:38px}
.posters {padding:5px 10px 10px;background:linear-gradient(#fff6ed,#fff)}
.coffee-poster,.event-poster {position:relative;display:block;overflow:hidden;text-align:left;width:100%;border-radius:11px;isolation:isolate}
.coffee-poster {background:#f8b28b;aspect-ratio:2.55}
.coffee-poster img,.event-poster img {width:100%;height:100%;object-fit:cover;position:absolute;inset:0;z-index:-2}
.coffee-poster img {object-position:65% 54%}
.coffee-poster:before {content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#ffd7ab 0%,#ffd7abde 27%,transparent 63%)}
.poster-copy {display:flex;flex-direction:column;justify-content:center;align-items:flex-start;height:100%;padding:13px 18px;color:#552c19}
.poster-copy small,.event-status {font-size:11px;font-weight:650;line-height:1.5;background:#fffc;border-radius:5px;padding:2px 6px}
.poster-copy strong {font-size:clamp(32px,10vw,42px);letter-spacing:-2px;line-height:1.15;margin:8px 0;font-weight:800}
.poster-copy>span {font-size:13px;font-weight:500}
.market .coffee-poster {margin:3px 9px 9px;width:calc(100% - 18px);aspect-ratio:3}
.market .poster-copy strong {font-size:31px}
.other-posters {display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:7px}
.event-poster {aspect-ratio:2.2;color:#572536}
.event-poster.next {background:#f8b1cf}.event-poster.call {background:#f5e7a3;color:#403824}
.event-poster:before {content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#f5b9cf 0,#f5b9cfdf 30%,transparent 85%)}
.event-poster.call:before {background:linear-gradient(90deg,#f7e5a1 0,#f7e5a1df 30%,transparent 85%)}
.event-poster .event-status {position:absolute;top:9px;left:10px;font-size:10px;font-weight:550}
.event-poster strong {position:absolute;bottom:11px;left:10px;font-size:15px;line-height:1.3;font-weight:700}
.event-poster.large {aspect-ratio:1.8;margin-bottom:15px}
.event-poster.large strong {font-size:25px;left:16px;bottom:20px}
.event-poster.large .event-status {top:15px;left:16px;font-size:12px}
.curation {margin:0;padding:4px 14px 13px;line-height:1.6;background:#fff;font-size:14px;color:#545454}
.curation b {color:#282828;font-weight:600}
.store-nav {position:sticky;top:0;z-index:2;display:flex;justify-content:space-around;align-items:center;gap:8px;height:45px;background:#fff;border-top:1px solid #f5f5f5;border-bottom:1px solid #efefef;overflow:auto;scrollbar-width:none}
.store-nav button {position:relative;white-space:nowrap;height:100%;font-size:14px;color:#666}
.store-nav [aria-current=true] {font-weight:650;color:#222}
.store-nav [aria-current=true]:after {content:'';position:absolute;left:24%;right:24%;bottom:4px;height:3px;border-radius:5px;background:var(--red)}
.store-section {padding:15px 7px 10px}
.store-section+.store-section {border-top:1px solid #e7e7e7}
.store-header {display:flex;align-items:center;gap:8px;padding:0 5px}
.store-id {display:flex;align-items:center;gap:8px;text-align:left;min-width:0}
.avatar {width:36px;height:36px;border-radius:50%;object-fit:cover}
.store-id b {display:block;font-weight:650;font-size:16px}.store-id small {font-size:12px;color:#777;display:block;margin-top:2px}
.follow {font-size:13px;font-weight:550;color:#e22843;border:1px solid #f6a8b5;border-radius:22px;background:#fff;padding:5px 11px;white-space:nowrap}
.store-header>.follow {margin-left:auto}
.follow[aria-pressed=true] {background:#eee;border-color:#eee;color:#777}
.maker-quote {font-size:15px;line-height:1.55;color:#555;margin:10px 5px 12px}
.product-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.home-goods {background:var(--canvas);padding:7px}
.product-card {display:block;background:#fff;border-radius:8px;overflow:hidden;text-align:left;min-width:0}
.product-card>img {width:100%;aspect-ratio:1;object-fit:cover;background:#eee}
.product-copy {display:flex;flex-direction:column;padding:9px 9px 11px;gap:5px}
.product-name {font-size:14px;line-height:1.5;font-weight:550;overflow-wrap:anywhere}
.product-name em {font-style:normal;color:#70462e;background:#f6e8cf;border-radius:3px;font-size:10px;font-weight:700;padding:2px 4px;vertical-align:1px;margin-right:4px;white-space:nowrap}
.product-spec {color:#777;font-size:12px;line-height:1.5}
.price {display:inline-flex;align-items:baseline;gap:2px;font-size:13px;line-height:1.3;color:#202020}
.price b {font-size:21px;font-weight:650;letter-spacing:-.6px}
.film-cover {position:relative;display:block;width:100%;height:111px;margin-bottom:9px;border-radius:9px;overflow:hidden;text-align:left;color:#fff}
.film-cover img {width:100%;height:100%;object-fit:cover;object-position:center 52%}
.film-cover:after {content:'';position:absolute;inset:0;background:linear-gradient(90deg,#211b15a6,transparent 73%)}
.film-cover span,.film-cover i {position:absolute;z-index:1}
.film-cover span {left:14px;bottom:16px}.film-cover small {display:block;font-size:11px}.film-cover b {display:block;font-size:20px;margin-top:4px}
.film-cover i {font-size:12px;font-style:normal;right:10px;bottom:10px;background:#0009;padding:4px 7px;border-radius:12px}
footer {padding:17px;text-align:center;color:#666;font-size:13px}
footer button,.text-action {color:#d92340;font-size:13px}footer small {display:block;font-size:11px;color:#888;margin-top:10px}
.shade {position:absolute;inset:0;background:#0005;display:flex;align-items:flex-end;z-index:8}
.sheet {background:#fff;border-radius:19px 19px 0 0;width:100%;padding:0 17px 32px;max-height:89%;overflow:auto;overscroll-behavior:contain;scrollbar-width:none}
.sheet-head {position:sticky;z-index:2;top:0;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 0 12px;background:white}
.sheet h2 {margin:0;font-size:20px;line-height:1.4}.sheet h3 {font-size:16px;margin:22px 0 9px}
.close {flex:none;background:#f2f2f2;border-radius:50%;width:30px;height:30px;line-height:27px;font-size:22px;color:#666}
.sheet p {font-size:15px;line-height:1.75;margin:12px 0}.sheet .byline,.muted,.sheet form small {font-size:12px;color:#777}
.detail-photo {width:100%;max-height:320px;aspect-ratio:1;object-fit:contain;border-radius:8px;background:#f7f7f7}
.detail-meta,.actions,.record,.choice,.record-banner {display:flex;align-items:center;gap:8px}
.detail-meta {justify-content:space-between;margin:13px 0}.detail-meta>span:last-child {font-size:13px;color:#777}
.detail-spec {font-weight:550}
.actions {margin:16px 0}
.primary,.secondary {padding:10px 15px;border-radius:22px;font-size:14px;font-weight:550;min-height:41px}
.primary {background:var(--red);color:#fff}.secondary {background:#f5f5f5;color:#444}.wide {width:100%;margin:12px 0 0}
.actions .primary {flex:1}
.choice,.record {width:100%;justify-content:space-between;border-bottom:1px solid #eee;text-align:left;padding:16px 0}
.choice b {font-size:16px}.choice span,.record small {font-size:12px;color:#777}
.record {font-size:14px;justify-content:flex-start}.record small {margin-left:auto}
.record img {width:43px;height:43px;object-fit:cover;border-radius:6px}
.record-banner {background:#fff5eb;gap:13px;padding:10px;border-radius:10px}
.record-banner img {width:74px;height:74px;border-radius:7px;object-fit:cover}
.record-banner p {margin:2px 0 6px;font-size:12px;color:#666}
form,label {display:grid;gap:8px}form {gap:16px;margin-top:5px}
label {font-size:14px;font-weight:550}
input,textarea {width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:8px;line-height:1.5;font-size:16px;background:#fafafa}
textarea {min-height:100px;resize:vertical}.wish-item {padding:10px 12px;background:#fafafa;overflow-wrap:anywhere}
.film-still {width:100%;border-radius:8px}
@media(max-width:460px) {
  .demo-stage,.device,.device-screen {width:100%;height:100dvh}
  .device {padding:0;background:white;border-radius:0;box-shadow:none}.device-screen {border-radius:0}
}
@media(prefers-reduced-motion:reduce) { * {scroll-behavior:auto!important} }
.exhibition-tabs{display:flex;position:sticky;top:0;z-index:4;height:44px;background:#fff;justify-content:space-around;border-bottom:1px solid #eee}.exhibition-tabs button{font-size:15px;color:#777;position:relative;padding:0 10px}.exhibition-tabs [aria-current=true]{color:#222;font-weight:650}.exhibition-tabs [aria-current=true]:after{content:'';position:absolute;height:3px;background:var(--red);border-radius:5px;bottom:4px;left:30%;right:30%}.store-nav{top:44px}.store-id{cursor:default}.avatar{width:44px;height:44px}.maker-quote{margin-left:57px;margin-top:7px;color:#675b52;font-size:14px}.note-toggle{font-size:13px;color:#92714f;margin:0 0 13px 57px;padding:4px 0}.note-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s ease}.note-panel>div{overflow:hidden}.note-panel.open{grid-template-rows:1fr}.note-panel p{font-size:15px;line-height:1.8;margin:0 6px 17px;padding:14px;background:#fff;border-radius:8px;color:#555}.film-cover[aria-pressed=true] img{animation:film-pan 14s linear infinite alternate}.film-cover[aria-pressed=true] span{opacity:0}.film-progress{position:absolute;z-index:2;left:0;bottom:0;height:3px;background:#ffdb96;width:0;transition:width 1s linear}.film-cover[aria-pressed=false] i{opacity:1}@keyframes film-pan{from{transform:scale(1)}to{transform:scale(1.14) translateX(-3%)}}.event-hero{padding:12px 10px 0;background:#fff}.event-hero .large{margin:0;border-radius:12px;aspect-ratio:1.7}.info-module{margin:12px 10px;padding:16px;background:#fff;border-radius:12px}.info-module h2{font-size:17px;margin:0;font-weight:650}.module-intro{font-size:14px;line-height:1.65;color:#777;margin:7px 0 15px}.preview-categories{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.preview-categories article{display:flex;flex-direction:column;align-items:center;text-align:center;background:#fff4f7;border-radius:9px;padding:13px 4px}.preview-categories article>span{font-size:27px;line-height:40px}.preview-categories b{font-size:13px;font-weight:550}.preview-categories small{font-size:10px;color:#777;margin-top:6px}.preview-notice{display:flex;align-items:center;justify-content:space-between;gap:8px}.preview-notice b{font-size:14px}.preview-notice p{font-size:12px;color:#999;margin:6px 0 0}.preview-notice button{font-size:12px;white-space:nowrap;padding:9px 12px}.recruit-steps{display:flex;justify-content:space-between;align-items:center;background:#faf8f2;padding:13px 10px;font-size:12px;color:#74644d;border-radius:9px}.recruit-steps i{font-style:normal;color:#aaa}.wish-module>div{display:flex;align-items:center;gap:8px}.wish-icon{font-size:26px;color:#da795d}.wish-module .secondary{background:#fff3eb;color:#8b532f}.tickets-page{background:#f4f2ed!important;padding:18px 15px}.ticket-intro{font-size:14px;color:#777;margin:0 0 15px}.ticket{border-radius:13px;background:white;overflow:hidden;box-shadow:0 3px 15px #00000008}.ticket-picture{height:148px;position:relative;overflow:hidden}.ticket-picture img{width:100%;height:100%;object-fit:cover}.ticket-picture b{position:absolute;left:17px;bottom:17px;font-size:27px;color:#613717}.ticket-info{padding:18px}.ticket-info>span{font-size:11px;color:#aa805b}.ticket-info h2{font-size:23px;margin:10px 0}.ticket-info p{font-size:13px;color:#888}.ticket-stub{margin:20px -18px -18px;border-top:1px dashed #d7d0c5;padding:16px 18px;display:flex;justify-content:space-between;background:#fffaf1;position:relative;font-size:12px;color:#8d7258}.ticket-stub:before,.ticket-stub:after{content:'';position:absolute;top:-8px;width:16px;height:16px;border-radius:50%;background:#f4f2ed}.ticket-stub:before{left:-8px}.ticket-stub:after{right:-8px}.ticket-stub button{color:#d82647}.empty{font-size:14px;color:#888;padding:20px 0}@media(prefers-reduced-motion:reduce){.note-panel,.film-progress{transition:none}.film-cover img{animation:none!important}}
/* Maker writing is a single note, with its disclosure control at the end. */
.maker-note{margin:11px 4px 14px;background:#fff;border-radius:10px;padding:14px 15px 0}
.maker-note .maker-quote{margin:0;color:#725b44;font-size:15px;line-height:1.75;font-weight:500}
.maker-note .note-panel>div{min-height:0}
.maker-note .note-panel p{padding:0;margin:14px 0 0;background:transparent;border-radius:0;font-size:15px;line-height:1.9;color:#57534d}
.maker-note .note-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;margin:0;padding:12px 0;color:#9a704b;font-size:12px}
.maker-note .note-toggle i{font-style:normal;font-size:17px;transition:transform .35s}
.maker-note .note-toggle[aria-expanded=true]{margin-top:14px;border-top:1px solid #eee8df}
.maker-note .note-toggle[aria-expanded=true] i{transform:rotate(180deg)}
.curation{padding:18px 17px 21px;background:#fff}
.curator-byline{display:flex;align-items:baseline;gap:8px;font-size:13px}.curator-byline>span{font-size:11px;color:#999}
.curation h2{font-size:19px;line-height:1.5;margin:11px 0 12px;font-weight:650;letter-spacing:-.5px}
.curation p{font-size:14px;line-height:1.85;color:#666;margin:9px 0 0}
.product-copy{gap:7px}
.product-maker{display:flex;align-items:flex-start;gap:5px;margin:1px 0 3px;min-height:53px}
.product-maker>img{width:18px;height:18px;flex:none;border-radius:50%;object-fit:cover}
.product-maker>span{font-size:11px;line-height:1.65;color:#9a7954;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.product-name{min-height:42px}.product-spec{font-size:11px}
.product-page[hidden]{display:none}.product-page{position:absolute;inset:50px 0 17px;z-index:7;background:#f5f5f5;display:flex;flex-direction:column}
.detail-scroll{flex:1;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}
.product-hero{position:relative;background:#eee;aspect-ratio:1}
.product-hero>img{width:100%;height:100%;object-fit:cover}
.product-topbar{display:flex;gap:9px;align-items:center;position:absolute;left:12px;right:12px;top:12px}
.product-topbar>span{flex:1}.product-topbar button{width:32px;height:32px;border-radius:50%;background:#0005;color:#fff;display:grid;place-items:center;font-size:23px;line-height:1}
.product-topbar button:first-child{font-size:31px}.photo-index{position:absolute;bottom:13px;right:13px;font-size:11px;color:#fff;padding:5px 10px;border-radius:15px;background:#0005}
.product-overview{background:#fff;padding:17px 15px 16px}
.detail-price{display:flex;align-items:center;justify-content:space-between;gap:8px}
.detail-price>.price{color:#ef2946;font-size:16px}.detail-price>.price b{font-size:31px;font-weight:650}.detail-price>span:last-child{font-size:10px;color:#999}
.product-overview h2{font-size:19px;line-height:1.55;margin:10px 0 12px;font-weight:650}
.product-facts{display:flex;gap:6px;flex-wrap:wrap}.product-facts span{font-size:11px;color:#777;background:#f5f5f5;padding:6px 8px;border-radius:5px}
.detail-maker{margin-top:8px;padding:17px 15px;background:#fff}
.detail-maker>div{display:flex;align-items:center;gap:7px;font-size:13px}.detail-maker img{width:26px;height:26px;border-radius:50%}
.detail-maker blockquote{font-size:16px;line-height:1.8;margin:10px 0;color:#96704c}
.detail-maker p{font-size:14px;line-height:1.85;color:#777;margin:10px 0 0}
.product-options{background:#fff;margin-top:8px;padding:0 15px}
.product-options>button{display:flex;align-items:center;gap:10px;padding:16px 0;width:100%;text-align:left;border-bottom:1px solid #f2f2f2}
.product-options b{font-size:12px;white-space:nowrap;font-weight:550;color:#555}.product-options span{margin-left:auto;font-size:12px;color:#888}
.product-store{background:#fff;padding:17px 15px;margin-top:8px}
.product-store>div{display:flex;align-items:center;gap:8px}.product-store img{width:35px;height:35px;border-radius:50%}
.product-store b{font-size:13px}.product-store small{display:block;font-size:11px;color:#999;margin-top:3px}.product-store button{font-size:11px;color:#a16a44;margin-left:auto}
.product-demo{text-align:center;font-size:10px;color:#aaa;margin:16px}
.product-bottom{flex:none;display:flex;align-items:center;gap:8px;padding:9px 9px;background:#fff;border-top:1px solid #eee}
.product-bottom>button{font-size:10px;line-height:1.5;white-space:nowrap}.product-bottom>button>span{display:block;font-size:21px;line-height:1.2}
.product-bottom .cart-action,.product-bottom .purchase-action{font-size:12px;min-height:39px;flex:1;border-radius:22px;font-weight:600}
.cart-action{background:#fff0f2;color:#ed3550}.purchase-action{background:#ff2442;color:white}
.detail-toast{position:absolute;left:50%;bottom:90px;transform:translateX(-50%);background:#222e;color:#fff;padding:10px 16px;border-radius:7px;font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s;white-space:nowrap}.detail-toast.visible{opacity:1}
.sku-summary{display:flex;align-items:center;gap:14px;margin:5px 0 20px}.sku-summary img{width:80px;height:80px;border-radius:8px;object-fit:cover}.sku-summary p{font-size:13px;margin:6px 0}.sku-summary b{font-size:14px}
.selected-sku{display:inline-block;padding:9px 13px;border:1px solid #fa8ca0;border-radius:7px;background:#fff2f4;color:#d52a45;font-size:13px}
.quantity-row{display:flex;align-items:center;justify-content:space-between;margin:22px 0 15px;font-size:14px}.quantity-row>div{display:flex;align-items:center;gap:12px}.quantity-row button{height:31px;width:31px;background:#f5f5f5;border-radius:4px;font-size:18px}.quantity-row button:disabled{color:#ccc;cursor:default}.quantity-row output{min-width:19px;text-align:center}
.cart-line{display:flex;align-items:center;gap:10px;padding:14px 0;border-bottom:1px solid #eee}.cart-line>img{width:65px;height:65px;border-radius:7px;object-fit:cover}.cart-line>div{flex:1}.cart-line b{font-size:13px}.cart-line small{display:block;font-size:11px;color:#999;margin:4px 0}.cart-line span{font-size:12px}.cart-line>button{font-size:11px;color:#999}

/* Conversations stay close to the works that started them. */
.conversation-card {margin:13px 5px 3px;padding:15px;background:#fff;border:1px solid #eee6df;border-radius:12px;text-align:left}
.conversation-card-head {display:flex;align-items:center;justify-content:space-between;gap:10px}
.conversation-card h3 {margin:0;font-size:15px;font-weight:650}
.conversation-count {font-size:12px;color:#8a6a55;white-space:nowrap;padding:5px 0}
.conversation-peek {display:grid;gap:8px;width:100%;margin:9px 0 13px;text-align:left;font-size:12px;line-height:1.7;color:#666}
.conversation-peek>span {display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.conversation-peek b {font-weight:600;color:#4e443d;margin-right:4px}
.conversation-peek .peek-answer {padding-left:10px;border-left:2px solid #edd8c4}
.conversation-invitation {width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;border-radius:22px;padding:10px 12px;background:#f8f6f3;color:#998879;font-size:12px;text-align:left;line-height:1.5}
.conversation-invitation i {font-style:normal;font-size:17px;color:#9b7659}
.conversation-prompt {font-size:14px;line-height:1.65;color:#6a5545;margin:10px 0}
.channel>.conversation-card {margin:15px 12px 0;padding:18px;background:#fffaf3}
.conversation-subject {display:flex;align-items:center;gap:12px;padding:12px;background:#faf7f3;border-radius:10px}
.conversation-subject img {width:57px;height:57px;object-fit:cover;border-radius:8px}
.conversation-subject>div {display:grid;gap:5px}
.conversation-subject small,.conversation-subject span {font-size:11px;color:#8d7b6c}
.conversation-subject b {font-size:14px;font-weight:600}
.conversation-topic {padding:15px;background:#fff7ec;border-radius:10px}
.conversation-topic small {font-size:11px;color:#9a7759}
.conversation-topic h3 {margin:8px 0!important;line-height:1.65}
.conversation-topic p {font-size:12px;margin:0;color:#8b7b6e}
.conversation-list {padding:8px 0}
.comment-thread {display:grid;grid-template-columns:28px minmax(0,1fr);gap:9px;padding:15px 0;border-bottom:1px solid #f0efed}
.comment-avatar {height:28px;display:grid;place-items:center;border-radius:50%;background:#eee6da;font-size:12px;color:#88745c}
.comment-byline {display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.comment-byline b {font-size:12px;color:#786f65;font-weight:550}
.comment-badge {background:#fff0e4;border-radius:3px;padding:2px 4px;font-size:10px;color:#ab6b42}
.comment-body p {font-size:14px;line-height:1.75;margin:5px 0 7px;white-space:pre-wrap;overflow-wrap:anywhere}
.comment-work {display:inline-block;font-size:10px;padding:3px 6px;background:#f7f4f0;border-radius:4px;color:#9b7c61;margin:0 0 7px}
.comment-replies {margin-top:12px;padding:12px;background:#f8f7f5;border-radius:8px}
.comment-replies .comment-body+.comment-body {border-top:1px solid #ebe7e1;padding-top:11px;margin-top:11px}
.comment-actions {display:flex;gap:18px;align-items:center}
.comment-actions button {font-size:11px;color:#9b8c7f;padding:3px 0}
.comment-actions [aria-pressed=true] {color:#d92e4a}
.comment-actions>span {margin-left:auto;font-size:10px;color:#aaa}
.reply-to {color:#a18b78}
.conversation-form {position:relative;gap:9px;margin-top:12px;border-top:1px solid #eee;padding-top:16px}
.conversation-form label {font-size:13px}
.conversation-form textarea {min-height:78px;font-size:14px}
.conversation-form-bottom {display:flex;align-items:center;justify-content:space-between;gap:9px}
.conversation-form-bottom small {font-size:10px!important;line-height:1.5}
.conversation-form-bottom .primary {min-width:64px;min-height:36px;padding:8px 15px}
.cancel-reply {position:absolute;right:0;top:16px;font-size:11px;color:#999}
.conversation-status {font-size:12px;color:#8a6a55}
.conversation-empty {color:#999}
.detail-scroll>.conversation-card {margin:12px}

.home-market-goods {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;background:#f7f7f7;padding:10px 5px 18px}
.market-goods-column {display:flex;flex-direction:column;gap:7px;min-width:0}
.market-product-card {display:block;width:100%;border-radius:6px;overflow:hidden;background:#fff;text-align:left}
.market-reference-photo {position:relative;display:block;width:100%;overflow:hidden;background:#f0f0f0}
.market-reference-photo img {position:absolute;display:block;max-width:none;height:auto}
.market-product-copy {display:flex;flex-direction:column;padding:11px 10px 14px;gap:9px}
.market-product-name {font-size:14px;line-height:1.55;font-weight:500;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.market-product-name em {background:#fff0b8;color:#866126;border-radius:3px;font-style:normal;font-size:11px;padding:2px 4px;margin-right:5px;white-space:nowrap}
.market-offer {color:#dc4560;font-size:12px;line-height:1.5}
.market-offer>span {color:#999;font-size:11px;margin-left:8px;white-space:nowrap}
.market-price {display:flex;align-items:baseline;gap:5px;flex-wrap:wrap;margin-top:4px;line-height:1.3}
.market-price>span {font-size:12px;color:#171717;white-space:nowrap}
.market-price b {font-size:21px;font-weight:550;letter-spacing:-.5px}
.market-price small {font-size:11px;color:#999;white-space:nowrap}
.market-review {display:flex;align-items:center;gap:7px;min-width:0}
.market-review>.market-reference-photo {width:17px;height:17px;flex:none;border-radius:50%}
.market-review>span:last-child {font-size:12px;color:#9e8056;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.market-detail-photo {overflow:hidden;border-radius:9px;max-height:330px}
.market-detail-photo>.market-reference-photo {max-height:330px}
.market-top {position:sticky;top:0;z-index:3;background:#fff;padding-top:1px;border-bottom:1px solid #f3f3f3}
.market-top .categories {gap:22px;justify-content:flex-start}

.channel-grid .featured-entry {position:relative;background:#fff0dc;border:1px solid #f6d7b4;border-radius:12px;margin:-5px 2px;padding:4px 0 5px;color:#ae402b;font-weight:650}
.channel-grid .featured-entry>span {display:block;margin-top:4px}
.channel-grid .exhibition-icon {position:relative;display:flex;align-items:center;width:42px;height:34px;margin:0 auto;line-height:1;border:1.5px solid #d93b2b;border-radius:6px;background:#ff7450;box-shadow:2px 3px 0 #2a50ac;transform:rotate(-7deg);isolation:isolate}
.exhibition-icon:before,.exhibition-icon:after {content:'';position:absolute;left:-4px;top:13px;width:6px;height:6px;border-radius:50%;background:#fff0dc;border-right:1px solid #d93b2b}
.exhibition-icon:after {left:auto;right:-4px;border-right:0;border-left:1px solid #d93b2b}
.exhibition-icon b {display:grid;place-items:center;background:#fff1c4;border-radius:3px;width:23px;height:23px;margin-left:5px;font-size:18px;font-weight:800;color:#b83e29;line-height:1}
.ticket-perforation {position:absolute;right:7px;top:5px;bottom:5px;border-left:1px dashed #a73429}
.ticket-eyes {position:absolute;left:12px;top:-7px;width:7px;height:9px;border:1px solid #af3a2d;border-radius:6px;background:#fffdf0;box-shadow:9px 0 0 -1px #fffdf0,9px 0 0 0 #af3a2d}
.ticket-eyes:after {content:'';position:absolute;left:2px;top:3px;width:3px;height:4px;border-radius:50%;background:#3c2920;box-shadow:9px 0 0 #3c2920}

/* A quiet add-to-cart action beside the price, independent from the detail link. */
.product-card{position:relative}.product-open{display:block;width:100%;text-align:left}.product-open>img{width:100%;aspect-ratio:1;object-fit:cover;background:#eee}.product-open .price{padding-right:36px;min-height:30px;align-items:center}.quick-cart{position:absolute;right:8px;bottom:9px;width:31px;height:31px;display:grid;place-items:center;border:1px solid #e8e2da;border-radius:50%;background:#fff;color:#8b7767;transition:color .2s,background .2s}.quick-cart:hover,.quick-cart:focus-visible{background:#fff5ed;color:#9e5333}.quick-cart.added{color:#b45a39;background:#fff1e6}.card-cart-feedback{position:absolute;right:7px;bottom:46px;font-size:10px;padding:5px 7px;background:#3c352eee;color:white;border-radius:5px;opacity:0;pointer-events:none;transition:opacity .15s}.card-cart-feedback.visible{opacity:1}

/* Both market entrances lead into the exhibition in the guided tour. */
.guided-market .market :is(.featured-entry, .coffee-poster[data-open]) {
  outline: 3px solid #cf622d;
  outline-offset: 2px;
  box-shadow: 0 0 0 2px #fff8eb, 0 0 0 6px #df75343d;
}
@media (prefers-reduced-motion: no-preference) {
  .introducing-market .market :is(.featured-entry, .coffee-poster[data-open]) {
    animation: market-entrance 1s cubic-bezier(.2,.75,.25,1) 0s backwards,
               market-bounce 3s ease-in-out 1s infinite;
  }
  .introducing-market .market .coffee-poster[data-open] { animation-delay: .5s, 2.5s; }
}
@keyframes market-entrance {
  0% { opacity: .15; transform: translateY(9px) scale(.85); }
  68% { opacity: 1; transform: translateY(-1px) scale(1.018); }
  100% { transform: none; }
}
@keyframes market-bounce {
  0%, 28%, 100% { transform: translateY(0); }
  10% { transform: translateY(-7px); box-shadow: 0 0 0 2px #fff8eb, 0 0 0 8px #df753460; }
  17% { transform: translateY(0); }
  22% { transform: translateY(-2px); }
}
