:root{--ink:#203d30;--green:#276147;--paper:#f7f8f5;--line:#dce3dc;--muted:#67776d;--mint:#e7efe7}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--line);background:white;color:var(--ink);border-radius:12px;padding:10px 17px;min-height:44px}button:hover{border-color:var(--green)}button:disabled{opacity:.5;cursor:default}a{color:inherit;text-decoration:none}header{max-width:1080px;margin:auto;height:88px;display:flex;align-items:center;gap:24px;padding:0 28px;border-bottom:1px solid var(--line)}header small{margin-left:auto;color:var(--muted)}.brand{font-weight:700;font-size:22px;display:flex;align-items:center;gap:10px}.brand b{background:var(--green);color:white;border-radius:12px;padding:0 9px;font-size:26px}main{max-width:1080px;margin:auto;padding:36px 28px 120px}h1{font-size:32px;line-height:1.3;letter-spacing:-1px;margin:0 0 12px}h2{font-size:22px;margin:0 0 14px}h3{font-size:18px;margin:0 0 8px}p{margin:8px 0 16px}.muted,small{color:var(--muted)}.intro{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:30px}.primary{background:var(--green);color:white;border-color:var(--green)}.wide{width:100%}.search{width:100%;background:white;border:1px solid var(--line);padding:14px 18px;border-radius:12px;margin:0 0 18px}.filters,.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.filters{margin-bottom:22px}.selected{background:var(--ink);color:white;border-color:var(--ink)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{overflow:hidden;background:white;border:1px solid var(--line);border-radius:16px;text-align:left;padding:0;display:block;width:100%}.art{height:180px;display:flex;align-items:center;justify-content:center;background:#e8ece2;overflow:hidden;font-size:62px}.art img{width:100%;height:100%;object-fit:cover}.card:nth-child(2n) .art{background:#e0eaeb}.card:nth-child(3n) .art{background:#eee8df}.card-body{padding:18px}.tag{display:inline-block;background:var(--mint);font-size:12px;padding:3px 9px;border-radius:5px;margin:2px 5px 4px 0}.card small{display:block;margin-top:10px}.panel{background:white;border:1px solid var(--line);border-radius:18px;padding:26px;margin-bottom:20px}.narrow{max-width:660px;margin:auto}.back{margin-bottom:20px;background:transparent}.notice{font-size:13px;color:var(--muted);margin:18px 0}.field{display:block;margin:16px 0 0;font-weight:600}.field input,.field textarea,.field select{display:block;width:100%;margin-top:7px;border:1px solid var(--line);border-radius:9px;padding:11px 12px;background:white;color:var(--ink);font-weight:400}textarea{min-height:95px;resize:vertical}.actions{display:flex;gap:10px;margin-top:24px}.actions>*{flex:1}.upload{display:block;border:1px dashed #91a998;border-radius:12px;padding:22px;text-align:center;background:var(--paper);cursor:pointer}.upload input{max-width:100%;margin-top:12px}.photos{display:flex;gap:8px;overflow:auto;margin:12px 0}.photos img{height:90px;width:90px;object-fit:cover;border-radius:9px}.details{display:grid;grid-template-columns:100px 1fr;gap:12px;margin:20px 0}.details dt{color:var(--muted)}.details dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,720px);display:flex;background:#fffffff5;border:1px solid var(--line);border-radius:20px 20px 0 0;padding:8px 12px max(12px,env(safe-area-inset-bottom));z-index:3}nav button{border:0;background:transparent;flex:1;font-size:24px;padding:0 6px;color:var(--muted)}nav span{display:block;font-size:12px}nav .active{color:var(--green);background:var(--mint)}#toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:12px 20px;border-radius:10px;z-index:5;display:none;max-width:90%;width:max-content}.empty{padding:35px 0;text-align:center}.order{border-top:1px solid var(--line);padding:18px 0}.status{font-size:13px;color:var(--green);font-weight:600}.bubble{background:var(--mint);padding:12px;border-radius:10px;margin:12px 0;white-space:pre-wrap}.error{color:#a33f2a}button:focus-visible,a:focus-visible{outline:3px solid #89ad97;outline-offset:3px}@media(max-width:650px){header{height:70px;padding:0 20px;gap:14px}header span{font-size:13px}header small{font-size:11px}.brand{font-size:18px}main{padding:26px 18px 120px}h1{font-size:27px}.intro{align-items:flex-start;gap:12px}.intro p{font-size:14px}.intro>button{white-space:nowrap;padding:10px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.art{height:140px;font-size:48px}.card-body{padding:12px}.card h3{font-size:16px}.card p{font-size:13px}.panel{padding:20px}.details{grid-template-columns:80px 1fr}.filters button{padding:8px 13px}.actions{flex-wrap:wrap}.actions button{min-width:110px}}
/* A city-independent identity; layouts account for longer English labels. */
header{height:auto;min-height:88px;justify-content:space-between}.brand{flex-shrink:0}.brand-name{display:flex;flex-direction:column;line-height:1.25}.brand-name small{font-size:12px;font-weight:400;margin:4px 0 0;letter-spacing:.2px}.header-tools{display:flex;align-items:center;gap:14px}.header-tools>small{font-size:12px}.header-tools button{font-size:14px;padding:8px 12px}.intro h1{max-width:650px;text-wrap:balance}.intro>div{min-width:0}.intro>button{flex-shrink:0}.pilot{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0 0 20px;font-size:14px}.pilot>span{color:var(--green);font-weight:600}.pilot small{font-size:13px}.future-note{border-top:1px solid var(--line);padding-top:18px;margin-top:28px;font-size:14px;color:var(--muted)}.card{align-self:start}.field select{max-width:100%;text-overflow:ellipsis}.details dd,.card-body{overflow-wrap:anywhere}html[lang=en] h1{letter-spacing:-.6px;font-size:34px}html[lang=en] .intro h1{max-width:600px}html[lang=en] .details{grid-template-columns:110px minmax(0,1fr)}.intro{align-items:flex-start}button{white-space:normal}.actions{align-items:center}.actions span{font-size:14px}audio{max-width:100%}
@media(max-width:650px){header{min-height:78px;gap:10px;padding:12px 18px}.brand-name{font-size:20px}header .brand-name small{font-size:11px}.header-tools{gap:10px}.header-tools>small{display:none}.intro{display:block;margin-bottom:24px}.intro>button{margin-top:8px}.intro h1{font-size:28px;max-width:340px}.intro p{margin-bottom:12px}html[lang=en] h1{font-size:29px}html[lang=en] .intro h1{max-width:335px;line-height:1.22}.pilot{gap:3px;flex-direction:column;align-items:flex-start}.filters{gap:7px}html[lang=en] .filters button{font-size:14px;padding:8px 11px}html[lang=en] .card h3{font-size:16px;line-height:1.4}html[lang=en] .tag{font-size:11px}.card small{font-size:12px}.details{grid-template-columns:90px minmax(0,1fr)}html[lang=en] .details{grid-template-columns:90px minmax(0,1fr)}.actions{flex-direction:column;align-items:stretch}.actions>*{width:100%;flex:auto}}

/* Real exchange flow: a quiet paper-trail layout, distinct from listing cards. */
.exchange-list{max-width:720px}.exchange-compose>.eyebrow,.exchange-list>.eyebrow,.review-page>.eyebrow{display:block;color:var(--green);font-size:13px;font-weight:700;margin-bottom:8px}.exchange-item{position:relative;padding:24px 26px 26px;border-left:4px solid #b7c9bc}.exchange-item h2{margin-top:12px}.exchange-meta{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:13px}.offer-summary{background:#f1f5f0;border-radius:12px;padding:14px 16px;margin-top:16px}.offer-summary>span{display:block;color:var(--muted);font-size:12px}.offer-summary>b{color:var(--green)}.offer-summary p{margin:6px 0 0;white-space:pre-wrap}.exchange-item blockquote{margin:14px 0 0;padding:12px 16px;border-left:2px solid #89ad97;background:#fafbf9;white-space:pre-wrap}.confirm-done{display:flex;align-items:center;color:var(--green);font-weight:700;min-height:44px}.published-review{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.published-review .row{margin-top:10px}.review-target{background:#e8f0e9;border-radius:16px;padding:20px;margin:18px 0}.review-target h3{margin-top:6px}.review-tags{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.review-tags button{text-align:left}.review-tags button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}
@media(max-width:650px){.exchange-item{padding:20px;border-left-width:3px}.exchange-meta{align-items:flex-start}.review-tags{grid-template-columns:1fr}.exchange-compose h1,.exchange-list h1,.review-page h1{font-size:27px}}
.voice-field{margin:8px 0 16px;font-weight:400}.voice-tools{display:flex;gap:8px;flex-wrap:wrap}.voice-tools button{font-size:13px;padding:7px 12px;min-height:40px}.voice-feedback{display:block;margin-top:6px;line-height:1.6}.voice-suggestion{padding:14px;background:#edf4ef;border:1px solid #c2d6c7;border-radius:12px;margin-top:10px}.voice-suggestion textarea{display:block;width:100%;margin:8px 0;min-height:90px}.voice-suggestion[hidden]{display:none}.sync-status{font-size:13px;color:var(--muted);margin:8px 0}.sync-status.error{color:#a33f2a}
