/* Mobile app shell and native filter sheet. Desktop styles remain in board.css. */
.mobile-tabs,.mobile-page-header,.mobile-guest-notifications,.mobile-hero-copy,.mobile-filter-trigger { display:none; }
/* New hub and reserved channel use the established platform surfaces. */
.account-home { max-width:820px; margin:0 auto; }
.account-identity { display:flex; align-items:center; gap:16px; padding:8px 0 28px; }
.account-identity>div { min-width:0; flex:1; }
.account-identity h1 { font-size:1.6rem; overflow-wrap:anywhere; }
.account-identity p { margin:5px 0 0; color:var(--muted); font-size:.875rem; }
.account-avatar { width:56px; height:56px; flex:none; display:grid; place-items:center; border-radius:16px; background:var(--blue-light); color:var(--blue); }
.account-avatar .icon { width:28px; height:28px; }
.account-edit { display:grid; place-items:center; width:44px; height:44px; color:var(--muted); }
.account-work { padding:24px; background:var(--surface); border:1px solid var(--line); border-radius:12px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px 20px; margin-bottom:24px; }
.account-work h2 { margin-bottom:6px; }
.account-work p { margin:0; color:var(--muted); font-size:.875rem; }
.account-work-number { font-size:2rem; font-weight:700; color:var(--blue); align-self:center; }
.account-work-number small { display:block; font-size:.75rem; font-weight:400; }
.account-work>.button { grid-column:1/-1; }
.account-post-link { grid-column:1/-1; text-align:center; font-size:.875rem; }
.account-menu-list { background:var(--surface); border:1px solid var(--line); border-radius:12px; margin-bottom:20px; overflow:hidden; }
.account-menu-list>a,.account-menu-button { display:flex; align-items:center; gap:12px; min-height:58px; padding:14px 18px; width:100%; color:var(--ink); text-align:start; font-size:.875rem; font-weight:500; }
.account-menu-list>a:not(:last-child),.account-menu-list>form:not(:last-child) { border-bottom:1px solid var(--line); }
.account-menu-list>a:hover,.account-menu-button:hover { background:var(--canvas); text-decoration:none; }
.account-menu-list>a>span:nth-child(2),.account-menu-button>span:nth-child(2) { flex:1; }
.account-row-icon { display:flex; color:var(--muted); }
.account-menu-list>a>.icon,.account-menu-button>.icon { width:16px; color:var(--muted); }
.account-menu-button { border:0; border-radius:0; background:var(--surface); }
.account-language-name { font-size:.8125rem; font-weight:500; color:var(--muted); }
.account-unread { min-width:22px; padding:1px 6px; border-radius:5px; color:var(--red); background:var(--red-bg); font-size:.75rem; text-align:center; }
.account-signout button { width:100%; color:var(--muted); min-height:48px; }
.account-guest { padding:24px 0 28px; }
.account-guest .account-avatar { margin-bottom:20px; }
.account-guest h1 { max-width:24ch; }
.account-guest>p { color:var(--muted); margin:14px 0 20px; }
.account-guest>.button { min-width:200px; }
.inventory-coming { max-width:760px; margin:0 auto; padding:40px; background:var(--surface); border:1px solid var(--line); border-radius:14px; }
.inventory-symbol { width:64px; height:64px; display:grid; place-items:center; border-radius:16px; color:var(--blue); background:var(--blue-light); margin-bottom:24px; }
.inventory-symbol .icon { width:32px; height:32px; }
.inventory-coming>p { color:var(--muted); margin:16px 0 24px; }
.inventory-scope { display:flex; flex-wrap:wrap; gap:16px 24px; padding-bottom:24px; }
.inventory-scope>span { display:flex; gap:8px; align-items:center; font-size:.875rem; }
.inventory-scope .icon { color:var(--muted); }
.inventory-next { padding-top:24px; border-top:1px solid var(--line); }
.inventory-next p { color:var(--muted); }
.inventory-next>.button { margin:0 8px 8px 0; }
.mobile-filter-sheet:not([open]) { display:none; }
@media (max-width:760px), (max-width:1023px) and (max-height:500px) {
    html { scroll-padding-top:80px; scroll-padding-bottom:112px; }
    body { padding-bottom:calc(104px + env(safe-area-inset-bottom,0px)); }
    .shell { padding-inline:16px; }
    .testbar { display:flex; align-items:center; gap:8px; padding:6px 16px; font-size:.6875rem; line-height:1.5; text-align:start; }
    .testbar > strong { flex:none; align-self:flex-start; font-size:.625rem; margin:0; letter-spacing:0; }
    .header { position:sticky; top:0; padding-top:env(safe-area-inset-top,0px); z-index:40; }
    .wechat-webview .header { padding-top:0; }
    .header-inner { min-height:64px; padding-block:0; gap:8px; flex-wrap:nowrap; }
    .brand { font-size:1.0625rem; gap:8px; letter-spacing:-.025em; }
    .brand small,.header .nav,.header .account-menu,.header-signin,.header-tools>.button { display:none; }
    body:not(.page-board) .header .brand { display:none; }
    .header-tools { margin-left:auto; gap:4px; }
    .header-tools .language { min-width:44px; min-height:44px; padding:8px; font-size:.75rem; }
    .notification-link,.mobile-guest-notifications { min-width:44px; min-height:44px; display:flex; justify-content:center; align-items:center; color:var(--muted); gap:2px; }
    .notification-link .icon,.mobile-guest-notifications .icon { width:21px; height:21px; }
    .notification-link .notification-count { position:absolute; top:2px; right:0; min-width:18px; font-size:.6875rem; padding:1px 4px; }
    .mobile-page-header { display:flex; align-items:center; gap:6px; min-width:0; flex:1; }
    .mobile-page-header strong { font-size:.9375rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .mobile-back { display:grid; place-items:center; width:44px; height:44px; flex:none; color:var(--ink); margin-left:-8px; }
    .mobile-root-symbol { width:28px; display:grid; place-items:center; color:var(--blue); margin-right:4px; }
    .layout,.workspace-content>.layout { grid-template-columns:1fr; }
    .form-grid { grid-template-columns:1fr; }
    .main { padding-top:20px; padding-bottom:32px; min-height:calc(100dvh - 240px); }
    .main h1 { font-size:1.5rem; letter-spacing:-.025em; line-height:1.3; }
    .main h2 { font-size:1rem; line-height:1.45; }
    .main p { line-height:1.6; }
    .mobile-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; position:fixed; bottom:calc(12px + env(safe-area-inset-bottom,0px)); inset-inline:12px; max-width:520px; margin-inline:auto; z-index:50; background:var(--surface); padding:6px; border-radius:16px; box-shadow:0 6px 28px rgba(17,35,59,.14); }
    .mobile-tabs>a { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; min-width:0; min-height:60px; padding:5px 4px; color:var(--muted); font-size:.75rem; font-weight:500; line-height:1.4; border-radius:12px; outline-offset:-3px; -webkit-tap-highlight-color:transparent; }
    .mobile-tabs>a>span:last-child { white-space:nowrap; }
    .mobile-tabs>a:hover { text-decoration:none; background:var(--canvas); }
    .mobile-tabs>a.is-current { color:var(--blue-hover); background:var(--blue-light); font-weight:700; }
    .mobile-tab-icon { width:32px; height:28px; display:grid; place-items:center; }
    .mobile-tab-icon .icon { width:24px; height:24px; stroke-width:1.7; }
    .mobile-tabs>a.is-current .mobile-tab-icon { color:var(--blue); }
    .mobile-tabs>a.is-current .icon { stroke-width:2; }
    .mobile-tabs>a:focus-visible { outline:3px solid var(--blue); }
    .mobile-tabs>a:active { background:var(--blue-light); color:var(--blue-hover); }
    .footer { padding:14px 0; font-size:.75rem; }
    .footer .shell { gap:6px; }
    .footer strong { font-weight:500; }
    .footer a { display:inline-flex; align-items:center; min-height:44px; vertical-align:middle; }
    .panel { padding:20px 16px; border-radius:12px; }
    .page-head { gap:12px; margin-bottom:20px; align-items:flex-start; }
    .page-head>div { min-width:0; }
    .page-head p { font-size:.875rem; margin-top:8px; }
    input,select,textarea { font-size:1rem; min-height:48px; }
    label { font-size:.875rem; }
    button,.button { min-height:48px; font-size:.875rem; }
    .tabs { margin-inline:-16px; padding-inline:16px; border-bottom:1px solid var(--line); gap:8px; }
    .tabs a { padding:12px 10px; font-size:.8125rem; min-height:48px; }
    .buyer-tabs { flex-wrap:nowrap; overflow:auto; }
    .workspace-filter { flex-wrap:nowrap; gap:8px; }
    .workspace-filter>div { flex:1; min-width:0; }
    .workspace-filter .small { display:none; }
    .workspace-filter>button { flex:none; padding-inline:16px; }
    .details>div { padding:12px 0; border-bottom:1px solid var(--line); }
    .details dt { font-size:.8125rem; }
    .details dd { font-size:.9375rem; }
    .page-detail .main>.back,.page-create .main>.back { display:none; }
    .page-detail #contact-area { scroll-margin-top:84px; }
    .page-detail .page-head .row-side { flex-direction:row; align-items:center; }
    .page-detail .contact-lock { width:36px; height:36px; margin-bottom:14px; }
    .discussion-section { margin-top:24px; }
    .comment-record { padding-inline:0; }
    .comment-thread { scroll-margin-top:88px; }
    .market-request,#email-notifications,#smtp-settings { scroll-margin-top:84px; }
    .account-identity { gap:12px; padding:8px 0 24px; }
    .account-identity h1 { font-size:1.375rem; }
    .account-work { padding:20px; gap:16px 12px; margin-bottom:20px; }
    .account-work-number { font-size:1.75rem; }
    .account-work p { font-size:.8125rem; }
    .account-menu-list>a,.account-menu-button { min-height:60px; padding-inline:16px; font-size:.9375rem; }
    .account-guest { padding-top:8px; }
    .account-guest>.button { width:100%; }
    .inventory-coming { padding:8px 0 0; border:0; background:transparent; }
    .inventory-symbol { margin:12px 0 24px; }
    .inventory-coming h1 { max-width:17ch; }
    .inventory-coming>p { font-size:.9375rem; }
    .inventory-scope { display:grid; grid-template-columns:1fr 1fr; gap:20px 12px; }
    .inventory-scope>span { font-size:.8125rem; }
    .inventory-next>.button { width:100%; margin-right:0; }
}
@media (max-width:760px), (max-width:1023px) and (max-height:500px) {
    .page-board .main { display:flex; flex-direction:column; min-height:0; padding-bottom:20px; }
    .page-board .market-hero { order:0; margin:0 0 18px; padding:0; color:var(--ink); background:transparent; border:0; border-radius:0; display:block; }
    .page-board .desktop-hero-copy { display:none; }
    .page-board .mobile-hero-copy { display:block; }
    .page-board .market-hero h1 { font-size:1.5rem; line-height:1.25; letter-spacing:-.03em; }
    .page-board .market-hero p { font-size:.875rem; color:var(--muted); line-height:1.5; margin:8px 0 12px; max-width:none; }
    .page-board .hero-action { min-height:44px; padding:11px 14px; font-size:.8125rem; width:auto; max-width:none; margin:0; background:var(--blue); color:var(--surface); border-color:var(--blue); }
    .page-board .market-filters { order:1; margin-bottom:14px; }
    .page-board .market-filters[data-mobile-refined] { display:grid; grid-template-columns:minmax(0,1fr) 48px 48px; align-items:center; gap:8px; padding:0; background:transparent; border:0; }
    .page-board #market-search[data-mobile-refined] .search-keyword { min-width:0; grid-column:1; grid-row:1; }
    .market-filters[data-mobile-refined] .search-keyword label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
    .market-filters[data-mobile-refined] .search-keyword input { min-height:48px; padding-inline:14px; background:var(--surface); }
    .market-filters[data-mobile-refined] .filter-action { grid-column:2; grid-row:1; width:48px; height:48px; padding:0; }
    .market-filters[data-mobile-refined] .filter-action-text { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
    .market-filters[data-mobile-refined] .mobile-filter-trigger { display:grid; place-items:center; grid-column:3; grid-row:1; width:48px; height:48px; padding:0; background:var(--surface); }
    .page-board .market-categories { order:2; display:flex; gap:4px; padding:0 0 12px; margin:0 -16px 8px; padding-inline:16px; overflow-x:auto; scrollbar-width:none; border:0; background:transparent; }
    .market-categories::-webkit-scrollbar { display:none; }
    .page-board .market-categories>a { display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:6px; min-width:82px; max-width:108px; padding:10px 8px; border:0; border-radius:10px; color:var(--muted); flex:none; }
    .page-board .market-categories>a.selected { color:var(--blue); background:var(--blue-light); }
    .page-board .market-categories>a span { white-space:normal; text-align:center; line-height:1.3; font-size:.75rem; }
    .page-board .market-categories .icon { width:23px; height:23px; }
    .page-board .market-layout { order:3; display:block; }
    .page-board .market-sidebar { display:none; }
    .feed-navigation { padding:8px 0; gap:8px; }
    .feed-sentinel { padding:4px 0 0; }
    .feed-sentinel p { margin-bottom:0; }
    .feed-toolbar { align-items:flex-start; margin-bottom:14px; gap:10px; }
    .feed-toolbar>div { display:flex; gap:8px; align-items:baseline; flex-wrap:wrap; }
    .feed-toolbar h2 { margin:0; }
    .feed-toolbar>div>span { font-size:.75rem; }
    .feed-sort { width:100%; display:flex; margin:0; gap:10px; }
    .feed-sort label { font-size:.75rem; font-weight:400; white-space:nowrap; }
    .feed-sort select { flex:1; width:auto; min-height:44px; font-size:.8125rem; background-color:var(--surface); }
    .feed-sort-note { font-size:.75rem; margin:0 0 14px; }
    .request-list { border:0; border-radius:0; background:transparent; }
    .market-request { background:var(--surface); border:1px solid var(--line); border-radius:12px; padding:18px 16px; display:grid; grid-template-columns:1fr; gap:14px; margin-bottom:12px; }
    .feed-batch .market-request:last-child,.feed-batch:last-child .market-request:last-child { border-bottom:1px solid var(--line); }
    .request-heading { gap:8px; margin-bottom:10px; flex-wrap:wrap; }
    .request-heading .tag { margin-left:auto; }
    .market-request h2 { font-size:1.0625rem; line-height:1.4; margin:0 0 14px; }
    .market-request h2 a { color:var(--ink); }
    .request-facts { grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); gap:12px; }
    .request-facts>span:last-child { grid-column:1/-1; }
    .request-facts small { font-size:.75rem; margin-bottom:3px; }
    .request-facts strong { font-size:.875rem; line-height:1.45; font-weight:500; }
    .request-buyer { gap:6px 12px; margin-top:12px; font-size:.75rem; }
    .request-offer { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:3px 10px; padding:0; text-align:start; }
    .request-offer>small { grid-column:1; grid-row:1; }
    .request-offer>strong { grid-column:1; grid-row:2; font-size:.875rem; }
    .request-offer>.button { grid-column:2; grid-row:1/3; align-self:center; min-width:0; min-height:44px; padding:9px 12px; font-size:.8125rem; margin:0; }
    .request-offer>.button .icon { width:16px; }
    .request-offer>span { grid-column:1/-1; }
    .request-contact { gap:6px; padding-top:12px; }
    .request-contact .small,.request-contact .tag { font-size:.75rem; }
    .request-unlocks { margin-left:0; }
    .request-dates { display:grid; gap:4px; font-size:.75rem; line-height:1.5; }
    body.mobile-sheet-open { overflow:hidden; }
    .mobile-filter-sheet { position:fixed; inset:auto 0 0; width:100%; max-width:none; max-height:calc(100dvh - 24px); padding:0; margin:0; border:0; border-radius:18px 18px 0 0; background:var(--surface); color:var(--ink); overflow:hidden; }
    .mobile-filter-sheet[open] { display:flex; flex-direction:column; }
    .mobile-filter-sheet::backdrop { background:rgb(17 35 59 / .48); }
    .sheet-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 16px; border-bottom:1px solid var(--line); }
    .sheet-heading h2 { margin:0; font-size:1.0625rem; }
    .sheet-heading button { width:44px; height:44px; min-height:44px; border:0; padding:0; }
    .sheet-fields { display:grid; gap:20px; overflow-y:auto; padding:20px; }
    .sheet-fields label { font-size:.875rem; }
    .sheet-fields input,.sheet-fields select { font-size:1rem; min-height:48px; }
    .sheet-actions { display:flex; gap:12px; padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px)); border-top:1px solid var(--line); }
    .sheet-actions>.primary { flex:1; }
}
@media (max-width:359px) {
    .header-inner { gap:4px; }
    .brand { font-size:1rem; gap:6px; }
    .header-tools .language { padding-inline:5px; }
    .request-offer { grid-template-columns:1fr; }
    .request-offer>.button { grid-column:1; grid-row:3; justify-self:stretch; margin-top:8px; }
}
@media (prefers-reduced-motion:no-preference) {
    .mobile-tabs>a,.account-menu-list>a { transition:background-color .16s ease-out,color .16s ease-out; }
}

@media (max-width:1023px) and (max-height:500px) {
    .header-inner { min-height:56px; }
    .mobile-tabs { bottom:calc(6px + env(safe-area-inset-bottom,0px)); padding-block:4px; max-width:460px; }
    .mobile-tabs>a { flex-direction:row; min-height:44px; gap:8px; padding-block:4px; }
    .mobile-tab-icon { height:25px; }
}

.mobile-credit-batches { display:none; }
@media (max-width:760px), (max-width:1023px) and (max-height:500px) {
    .page-exporter .statline { display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:20px; margin:20px 0; }
    .page-exporter .statline>div { min-width:0; }
    .page-exporter .statline strong { font-size:2rem; }
    .page-exporter .statline>div:nth-child(2)>strong { font-size:1.125rem; line-height:1.5; }
    .page-exporter .statline .small { display:block; overflow-wrap:anywhere; font-size:.75rem; line-height:1.6; }
    .desktop-credit-batches { display:none; }
    .mobile-credit-batches { display:block; }
    .mobile-credit-batches dl { margin:0; padding:8px 0; border-top:1px solid var(--line); }
    .mobile-credit-batches dl>div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.6fr); gap:16px; padding:10px 0; }
    .mobile-credit-batches dt { font-size:.75rem; color:var(--muted); }
    .mobile-credit-batches dd { margin:0; font-size:.8125rem; overflow-wrap:anywhere; }
    .mobile-credit-batches dd small { display:block; margin-top:3px; font-size:.75rem; }
    .page-detail .page-head .row-side { max-width:none; width:100%; justify-content:space-between; }
    .page-detail .row-side .button { min-height:44px; font-size:.8125rem; }
}

/* One compact support contact at the bottom of mobile pages. */
@media (max-width:760px), (max-width:1023px) and (max-height:500px) {
    .auth-support,.footer-company,.footer-company-break,.footer-time { display:none; }
    .footer { padding:6px 0;line-height:1.4; }
    .footer .shell { gap:0; }
    .footer-identity {display:block;line-height:inherit}
    .footer-wechat {display:block;line-height:inherit;padding:0}
    .footer-support { display:block;line-height:inherit;min-height:0; }
    .footer-support a { display:inline;min-height:0;line-height:inherit; }
    .page-auth .main { padding-bottom:20px; }
    .page-auth .auth-wrap { margin-bottom:0; }
}


@media (max-width:767px) {
    .header .brand { gap:7px; font-size:18px; }
    .brand-monogram { width:28px; height:28px; }
}
@media (max-width:380px) {
    .header .brand { font-size:17px; }
    .brand-monogram { width:26px; height:26px; }
}
