/* iMS compatibility theme — professional support LINE link */
:root{
  --ims-legacy-blue:#102f5a;
  --ims-legacy-blue-2:#1a4778;
  --ims-legacy-teal:#0a9d90;
  --ims-legacy-teal-dark:#08776f;
  --ims-legacy-red:#f34b37;
  --ims-legacy-gold:#b7772d;
  --ims-legacy-cream:#fff9ee;
  --ims-legacy-paper:#fffdf9;
  --ims-legacy-muted:#687284;
  --ims-legacy-border:#ead8bd;
  --ims-legacy-shadow:0 14px 34px rgba(46,70,87,.14);
}

html{background:#fbf6ed}
body{
  min-height:100vh;
  color:var(--ims-legacy-blue)!important;
  background:
    radial-gradient(circle at 50% 0,#fff 0,rgba(255,255,255,0) 38rem),
    linear-gradient(180deg,#f9f4ea,#fffaf3)!important;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans TC",sans-serif;
}

/* Shared desktop header */
.announcement{background:linear-gradient(90deg,#c8edff,#ebf9ff,#c9efff)!important}
.topbar{min-height:94px!important}
.header-shell{min-height:94px}
.header-logo{
  width:350px!important;
  height:auto!important;
  max-height:94px;
  object-fit:contain!important;
  object-position:left center;
}
.desktop-nav{height:94px}
.desktop-nav button{
  min-width:126px;
  padding:0 16px;
  font-size:17px;
}
#loginBtn.line-login-card{background:linear-gradient(180deg,#19bca8,#07998c)!important}

@media(min-width:1281px){
  .header-shell{
    position:relative;
    width:min(1420px,100%);
  }
  .desktop-nav{
    position:absolute;
    left:50%;
    top:0;
    transform:translateX(-50%);
  }
  #loginBtn.line-login-card{
    position:absolute;
    left:calc(50% + 320px);
    top:50%;
    transform:translateY(-50%);
  }
  #loginBtn.line-login-card:hover{
    transform:translateY(calc(-50% - 1px));
  }
}

@media(max-width:1280px) and (min-width:1101px){
  .header-logo{width:235px!important}
  .desktop-nav button{
    min-width:94px;
    padding:0 8px;
    font-size:15px;
  }
}

/* Homepage composition */
#homeView{
  position:relative;
  width:100%;
  isolation:isolate;
  background:
    linear-gradient(
      180deg,
      rgba(235,249,255,.03) 0%,
      rgba(255,255,255,.04) 42%,
      rgba(255,250,241,.30) 68%,
      rgba(255,250,241,.86) 92%,
      #fffaf1 100%
    ),
    url("/assets/ims-market-background.png") center top/100% auto no-repeat;
}
.marketplace-hero{
  min-height:570px;
  padding-top:24px!important;
  padding-bottom:18px!important;
  gap:12px!important;
  background:transparent!important;
}
.marketplace-hero:before{
  background:
    radial-gradient(
      ellipse at 50% 22%,
      rgba(255,255,255,.68) 0%,
      rgba(255,255,255,.22) 29%,
      transparent 55%
    )!important;
}
.marketplace-hero .hero-copy h2{
  font-size:clamp(44px,4vw,62px)!important;
  color:#086c63!important;
}
.market-search{
  width:min(910px,calc(100% - 14px));
  min-height:72px;
  padding:7px;
  overflow:hidden;
  background:rgba(255,253,249,.96);
  border:1px solid rgba(198,148,86,.68);
  border-radius:20px;
  box-shadow:
    0 0 0 6px rgba(250,249,241,.84),
    0 0 0 7px rgba(147,194,208,.34),
    0 16px 34px rgba(52,84,102,.2);
}
.market-keyword{
  min-width:0;
  background:rgba(255,255,255,.34);
}
.search-leading-icon{
  width:30px;
  height:30px;
  flex:0 0 30px;
  fill:none;
  stroke:#5d6167;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.market-keyword input,.market-search select{
  height:56px!important;
}
.market-search select{
  border-left:1px solid #eadbc6!important;
}
.market-search button{
  min-height:56px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:0 20px!important;
  border:1px solid #df3526!important;
  border-radius:12px!important;
  color:#fff!important;
  background:linear-gradient(180deg,#ff6752,#f04431)!important;
  box-shadow:0 5px 10px rgba(232,63,42,.25)!important;
  font-size:16px;
  font-weight:950;
}
.market-search button:hover,
.market-search button:focus-visible{
  background:linear-gradient(180deg,#ff725e,#e93d2b)!important;
  box-shadow:0 7px 14px rgba(232,63,42,.3)!important;
}
.search-button-icon{
  width:28px;
  height:28px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .16s ease,opacity .16s ease;
}
.market-search button:hover .search-button-icon{transform:scale(1.06)}
.market-search button:active .search-button-icon{transform:scale(.96)}
.market-search button:focus-visible{
  outline:3px solid rgba(255,79,56,.28)!important;
  outline-offset:3px;
}
.adventure-actions{
  width:min(910px,calc(100% - 14px));
  grid-template-columns:repeat(3,1fr);
  min-height:86px;
  padding:8px 20px;
  overflow:hidden;
  background:rgba(255,253,249,.96);
  border:1px solid rgba(198,148,86,.72);
  border-radius:44px;
  box-shadow:
    0 0 0 6px rgba(250,249,241,.84),
    0 0 0 7px rgba(147,194,208,.34),
    0 13px 30px rgba(52,84,102,.17);
}
.adventure-actions button{
  min-height:68px;
  gap:16px;
  padding:7px 24px;
  border-right:1px solid #e7d3b6;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.adventure-actions button>span,
.adventure-actions button>span>b,
.adventure-actions button>span>small{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.adventure-actions .action-icon{
  width:52px;
  height:50px;
  min-width:52px;
  display:block;
  object-fit:contain;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.adventure-actions button:nth-child(2) .action-icon{
  width:46px;
  height:45px;
  min-width:46px;
}
.adventure-actions button:nth-child(3) .action-icon{
  width:50px;
  height:47px;
  min-width:50px;
}
.adventure-actions b{
  color:#102f5a;
  font-size:16px;
  letter-spacing:.03em;
}
.adventure-actions small{
  margin-top:3px;
  color:#747b84;
  font-size:12px;
}
.adventure-actions button:nth-child(3){border-right:0}
.category-grid{
  width:min(1260px,100%);
  gap:0;
  margin-top:4px!important;
  padding:8px 10px;
  overflow:hidden;
  background:linear-gradient(180deg,rgba(255,253,246,.98),rgba(250,245,232,.96));
  border:1px solid #c99856;
  border-radius:24px;
  box-shadow:
    0 0 0 4px rgba(250,249,241,.84),
    0 0 0 5px rgba(147,194,208,.3),
    0 12px 25px rgba(52,84,102,.15);
}
.category-grid button{
  min-height:116px;
  grid-template-columns:88px minmax(0,1fr);
  padding:8px 12px 8px 5px;
  overflow:hidden;
  text-align:left;
  background:transparent!important;
  border:0!important;
  border-right:1px solid #eadcc7!important;
  border-radius:0!important;
  box-shadow:none!important;
  backdrop-filter:none;
}
.category-grid button:last-child{border-right:0!important}
.category-grid button:hover{
  background:rgba(255,255,255,.42)!important;
  border-color:#eadcc7!important;
  box-shadow:none!important;
}
.category-grid button>img{
  width:88px;
  height:98px;
  object-fit:contain;
  object-position:center;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  mix-blend-mode:normal;
}
.category-grid button>span{
  grid-row:1/3;
  width:auto;
  height:auto;
  display:block!important;
  padding:0!important;
  color:var(--ims-legacy-blue);
  background:transparent!important;
  border:0;
  border-radius:0;
  font:inherit;
}
.category-grid button b{font-size:18px}
.category-grid button small{font-size:12px;line-height:1.55}

.home-operations{
  width:min(1320px,calc(100% - 32px));
  margin:-4px auto 0!important;
  padding:12px 0 18px!important;
}
.market-heading{padding:0 8px}
.home-product-row{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.home-mini-card{
  grid-template-columns:126px minmax(0,1fr)!important;
  min-height:166px;
  padding:12px!important;
  background:rgba(255,255,255,.96)!important;
  border:1px solid var(--ims-legacy-border)!important;
  color:var(--ims-legacy-blue)!important;
  box-shadow:0 9px 24px rgba(40,70,91,.08);
}
.home-mini-card img,.home-mini-card .home-mini-placeholder{
  width:126px!important;
  height:140px!important;
  background:#f5f0e8!important;
}
.home-mini-card h4{color:var(--ims-legacy-blue)!important;font-size:17px}
.home-mini-card p{color:var(--ims-legacy-muted)!important}
.home-mini-card b{color:var(--ims-legacy-red)!important;font-size:20px}
.home-loading,.home-empty{background:rgba(255,255,255,.92)!important;border-color:var(--ims-legacy-border)!important;color:var(--ims-legacy-muted)!important}
.trust-strip{
  width:min(1320px,calc(100% - 32px));
  margin:0 auto 8px;
  border-color:var(--ims-legacy-border)!important;
  box-shadow:0 8px 22px rgba(40,70,91,.07);
}

/* Unified inner-page shell */
.view.active:not(#homeView){
  position:relative;
  width:min(1240px,calc(100% - 36px))!important;
  margin:34px auto 48px!important;
}
.view.active:not(#homeView):before{
  content:"";
  position:fixed;
  z-index:-2;
  inset:128px 0 0;
  background:
    linear-gradient(180deg,rgba(238,249,253,.85),rgba(255,249,238,.96)),
    url("/assets/ims-market-background.png") center top/cover no-repeat;
  opacity:.7;
}
.panel,.diag-card,.member-box,.member-stat,.display-name-card,.line-friend-card,.upload-box{
  color:var(--ims-legacy-blue)!important;
  background:rgba(255,253,249,.96)!important;
  border:1px solid var(--ims-legacy-border)!important;
  box-shadow:var(--ims-legacy-shadow)!important;
}
.panel{
  border-radius:26px!important;
  padding:28px!important;
}
.panel>h2,.section-head h2,.section-head h3{
  color:var(--ims-legacy-blue)!important;
  font-family:Georgia,"Noto Serif TC",serif;
}
.panel>h2{margin:0 0 8px;font-size:31px}
.muted,.panel p,.member-stat small,.member-stat span{color:var(--ims-legacy-muted)!important}

/* Search and marketplace cards */
#searchView .search-hero{padding-bottom:22px!important}
.listing-tabs button{
  border-color:#bfcbd3!important;
  background:#fff!important;
  color:var(--ims-legacy-blue)!important;
}
.listing-tabs button.active{
  border-color:var(--ims-legacy-teal)!important;
  background:var(--ims-legacy-teal)!important;
  color:#fff!important;
}
.filters{
  grid-template-columns:minmax(220px,1.5fr) repeat(4,minmax(130px,1fr)) 110px!important;
}
.filters input,.filters select,.form input,.form select,.form textarea,.copy-row input{
  min-height:50px!important;
  color:#24354a!important;
  background:#fff!important;
  border:1px solid #d9dfe3!important;
  border-radius:13px!important;
}
.filters button,.primary{
  min-height:50px;
  color:#fff!important;
  background:linear-gradient(180deg,#17aa9c,#07877d)!important;
  border:0!important;
  box-shadow:0 7px 14px rgba(8,135,125,.2);
}
.grid{gap:16px}
.product-card{
  color:var(--ims-legacy-blue)!important;
  background:rgba(255,255,255,.97)!important;
  border:1px solid var(--ims-legacy-border)!important;
  border-radius:20px!important;
  box-shadow:0 10px 26px rgba(40,70,91,.1)!important;
}
.product-card:hover{border-color:#d4ad70!important;box-shadow:0 16px 34px rgba(40,70,91,.16)!important}
.product-card h4{color:var(--ims-legacy-blue)!important}
.product-card p{color:var(--ims-legacy-muted)!important}
.product-card .price{color:var(--ims-legacy-red)!important}
.product-card>img{background:#f5f0e8!important}
.badge{border-color:#d9dfe3!important;color:#617086!important;background:#f8fafc}
.card-actions button,.pill,.share-box button{
  color:var(--ims-legacy-blue)!important;
  background:#fff!important;
  border:1px solid #cfd8df!important;
}

/* Listing form */
#sellView .panel{max-width:940px;margin:0 auto}
.form{max-width:820px!important;margin:20px auto 0;gap:18px!important}
#sellView .form>label,
#sellView .form .two>label{
  color:#12365f!important;
  font-size:15px;
  font-weight:900!important;
  line-height:1.45;
  letter-spacing:.02em;
}
#sellView .form>label input,
#sellView .form>label textarea,
#sellView .form .two>label input,
#sellView .form .two>label select{
  margin-top:8px;
}
.listing-type-field{
  color:var(--ims-legacy-blue)!important;
  background:#fffaf2!important;
  border:1px solid #dfc49d!important;
  border-radius:18px!important;
}
#sellView .listing-type-field legend{
  color:#12365f!important;
  background:#fffdf9!important;
  font-weight:900!important;
}
#sellView .listing-type-field .listing-choice{
  color:#12365f!important;
  background:#fffdf9!important;
  border:1px solid #d9c4a5!important;
  box-shadow:0 5px 14px rgba(52,84,102,.06)!important;
}
#sellView .listing-choice:hover{
  border-color:#77bdb5!important;
  background:#f7fcfa!important;
}
#sellView .listing-choice:has(input:checked){
  border-color:var(--ims-legacy-teal)!important;
  background:#eaf8f5!important;
  box-shadow:0 0 0 2px rgba(10,157,144,.13)!important;
}
#sellView .listing-choice:has(input:checked) .choice-text b{color:var(--ims-legacy-teal-dark)!important}
#sellView .choice-text b{color:#12365f!important}
#sellView .choice-text em,
#sellView .listing-type-field small{color:#59697d!important}
#sellView .choice-dot{
  border-color:#8090a2!important;
  background:#fff!important;
  box-shadow:inset 0 0 0 5px #fff!important;
}
#sellView .listing-choice:has(input:checked) .choice-dot{
  border-color:var(--ims-legacy-teal)!important;
  background:var(--ims-legacy-teal)!important;
  box-shadow:inset 0 0 0 5px #fff!important;
}
.upload-box{
  border:2px dashed #cbb28e!important;
  border-radius:18px!important;
  text-align:center;
}
.upload-box.drag{border-color:var(--ims-legacy-teal)!important;background:#eefaf8!important}
.image-preview .preview-item{background:#fff!important;border-color:var(--ims-legacy-border)!important}

/* Member center */
#memberView .panel{max-width:1060px;margin:0 auto}
#memberView .member-box,
#memberView .display-name-card,
#memberView .line-friend-card,
#memberView .member-stat{
  color:var(--ims-legacy-blue)!important;
  background:rgba(255,255,255,.96)!important;
  border:1px solid var(--ims-legacy-border)!important;
  box-shadow:0 9px 24px rgba(40,70,91,.08)!important;
}
#memberView .display-name-card span,
#memberView .line-friend-card span,
#memberView .member-stat span{color:var(--ims-legacy-blue)!important}
#memberView .display-name-card small,
#memberView .line-friend-card small,
#memberView .member-stat small{color:var(--ims-legacy-muted)!important}
#memberView .member-stat b{color:var(--ims-legacy-teal-dark)!important}
#memberView .copy-row input{background:#fff!important;color:#26374a!important;border-color:#d8dfe4!important}
#memberView .copy-row button,#memberView .section-head button{
  color:#fff!important;
  background:var(--ims-legacy-teal)!important;
  border:0!important;
}

/* Detail dialog */
.modal-backdrop{background:rgba(10,31,54,.68)!important}
.detail-card{
  color:var(--ims-legacy-blue)!important;
  background:var(--ims-legacy-paper)!important;
  border:1px solid var(--ims-legacy-border)!important;
}
.detail-desc,.detail-meta div{
  color:#33465b!important;
  background:#fff!important;
  border-color:var(--ims-legacy-border)!important;
}
.detail-meta span{color:var(--ims-legacy-muted)!important}
.modal-close{color:#fff!important;background:var(--ims-legacy-blue)!important}

/* Footer and legal pages */
.legal-footer{
  width:min(1320px,calc(100% - 32px));
  margin:0 auto;
  padding:0 12px 34px!important;
  color:#657185!important;
}
.platform-statement{
  flex-basis:100%;
  display:grid;
  grid-template-columns:140px 1fr;
  align-items:center;
  gap:18px;
  width:100%;
  margin-bottom:10px;
  padding:13px 22px;
  text-align:left;
  background:rgba(255,253,249,.96);
  border:1px solid var(--ims-legacy-border);
  border-radius:18px;
  box-shadow:0 8px 22px rgba(40,70,91,.07);
}
.platform-statement img{width:130px;height:48px;object-fit:contain}
.legal-footer a{color:var(--ims-legacy-blue)!important}
.legal-footer small{color:#7c8796}

.nav{
  position:sticky;
  top:0;
  z-index:5;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid #e7e2da;
  box-shadow:0 6px 18px rgba(45,76,105,.08);
}
.wrap{width:min(1120px,calc(100% - 32px));margin:0 auto}
.navin{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.nav .brand{display:flex;align-items:center;gap:12px;color:var(--ims-legacy-blue);text-decoration:none;font-weight:900}
.nav .brand img{width:74px;height:58px;object-fit:contain}
.page{
  min-height:calc(100vh - 88px);
  padding:42px 0 70px;
  background:
    linear-gradient(180deg,rgba(238,249,253,.9),rgba(255,249,238,.97)),
    url("/assets/ims-market-background.png") center top/cover fixed no-repeat;
}
.doc,.state-card,.profile-panel,.profile-edit-card,.menu-card,.debug-card,.stat-card{
  color:var(--ims-legacy-blue)!important;
  background:rgba(255,253,249,.97)!important;
  border:1px solid var(--ims-legacy-border)!important;
  border-radius:24px!important;
  box-shadow:var(--ims-legacy-shadow)!important;
}
.doc{max-width:900px;padding:34px 38px;line-height:1.85}
.doc h1,.doc h2{color:var(--ims-legacy-blue)}
.doc h1{font-family:Georgia,"Noto Serif TC",serif}
.btn,.ghost-btn,.back-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 18px;
  color:#fff!important;
  background:var(--ims-legacy-teal)!important;
  border:0!important;
  border-radius:12px;
  text-decoration:none;
  font-weight:900;
}
.center-page{display:grid;place-items:center;padding:24px}
.state-card{width:min(520px,100%);padding:34px;text-align:center}
.state-card .wide{width:100%;margin:16px 0}

/* Responsive rules */
.bottom-nav{display:none!important}
@media(max-width:1100px){
  .header-shell{gap:14px}
  .header-logo{width:205px!important}
  .desktop-nav button{min-width:96px}
  .category-grid{grid-template-columns:repeat(3,1fr)}
  .category-grid button{border-bottom:1px solid #eadcc7!important}
  .category-grid button:nth-child(3n){border-right:0!important}
  .category-grid button:nth-child(n+4){border-bottom:0!important}
  .marketplace-hero{min-height:690px}
  .home-product-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .filters{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
  body{padding-bottom:76px!important}
  .announcement{font-size:12px}
  .topbar{min-height:66px!important;padding:0 10px!important}
  .header-shell{min-height:66px;grid-template-columns:1fr auto}
  .header-logo{width:148px!important;height:46px!important}
  .desktop-nav{display:none}
  #loginBtn.line-login-card{height:42px!important;min-height:42px!important;padding:0 12px!important}
  #loginBtn .line-mark{width:24px;height:24px}
  .marketplace-hero{
    min-height:auto;
    padding:28px 12px 26px!important;
    gap:15px!important;
    background-position:center top!important;
  }
  #homeView{
    background:
      linear-gradient(
        180deg,
        rgba(235,249,255,.10) 0%,
        rgba(255,255,255,.12) 38%,
        rgba(255,250,241,.72) 70%,
        #fffaf1 100%
      ),
      url("/assets/ims-market-background.png") center top/auto 760px no-repeat;
  }
  .marketplace-hero .hero-copy h2{font-size:34px!important;white-space:normal!important}
  .marketplace-hero .hero-copy p{font-size:14px!important;letter-spacing:.08em}
  .market-search{
    width:calc(100% - 14px);
    grid-template-columns:1fr 1fr!important;
    border-radius:18px;
    box-shadow:
      0 0 0 4px rgba(250,249,241,.84),
      0 0 0 5px rgba(147,194,208,.3),
      0 12px 25px rgba(52,84,102,.17);
  }
  .market-keyword{grid-column:1/-1;min-height:50px}
  .market-search select{border-top:1px solid #e7ded1!important;border-left:0!important}
  .market-search button{grid-column:1/-1;min-height:52px}
  .adventure-actions{
    grid-template-columns:1fr!important;
    width:calc(100% - 14px);
    min-height:0;
    padding:7px 14px;
    border-radius:22px;
    box-shadow:
      0 0 0 4px rgba(250,249,241,.84),
      0 0 0 5px rgba(147,194,208,.3),
      0 12px 25px rgba(52,84,102,.15);
  }
  .adventure-actions button{min-height:58px;padding:7px 16px}
  .adventure-actions button{border-right:0!important;border-bottom:1px solid #eadcc7}
  .adventure-actions button:last-child{border-bottom:0}
  .category-grid{grid-template-columns:repeat(2,1fr);width:100%;padding:7px 9px}
  .category-grid button{grid-template-columns:68px minmax(0,1fr);min-height:112px;padding:7px}
  .category-grid button:nth-child(3n){border-right:1px solid #eadcc7!important}
  .category-grid button:nth-child(2n){border-right:0!important}
  .category-grid button:nth-child(n+4){border-bottom:1px solid #eadcc7!important}
  .category-grid button:nth-child(n+5){border-bottom:0!important}
  .category-grid button>img{width:68px;height:92px}
  .category-grid button b{font-size:16px}
  .category-grid button small{font-size:11px}
  .home-operations,.trust-strip,.legal-footer{width:min(100% - 20px,1320px)}
  .home-product-row{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .home-mini-card{
    grid-template-columns:64px minmax(0,1fr)!important;
    gap:7px!important;
    min-height:118px!important;
    padding:8px!important;
    border-radius:16px!important;
  }
  .home-mini-card img,.home-mini-card .home-mini-placeholder{
    width:64px!important;
    height:82px!important;
    border-radius:11px!important;
  }
  .home-mini-card h4{
    margin-bottom:3px!important;
    font-size:14px!important;
  }
  .home-mini-card p{
    margin:1px 0!important;
    font-size:10px!important;
  }
  .home-mini-card b{
    margin-top:3px!important;
    font-size:13px!important;
    line-height:1.25!important;
  }
  .market-heading{align-items:flex-start;flex-wrap:wrap}
  .market-tabs{order:3;width:100%;overflow:auto}
  .trust-strip{grid-template-columns:1fr 1fr!important}
  .view.active:not(#homeView){width:calc(100% - 20px)!important;margin:18px auto 28px!important}
  .panel{padding:18px!important;border-radius:20px!important}
  .filters,.two{grid-template-columns:1fr!important}
  .member-dashboard{grid-template-columns:1fr!important}
  .member-stat.wide{grid-column:span 1!important}
  .copy-row{grid-template-columns:1fr!important}
  .platform-statement{grid-template-columns:1fr;text-align:center;padding:16px}
  .platform-statement img{margin:0 auto}
  .doc{padding:24px 20px}
  .bottom-nav{
    display:grid!important;
    color:#d9e4ef!important;
    background:rgba(9,45,93,.97)!important;
  }
  .bottom-nav button,.bottom-nav a{color:#d9e4ef!important}
  .bottom-nav button.active,.bottom-nav a.active{color:#fff!important;background:var(--ims-legacy-teal)!important}
}

@media(max-width:520px){
  .adventure-actions .action-icon,
  .adventure-actions button:nth-child(2) .action-icon,
  .adventure-actions button:nth-child(3) .action-icon{
    width:42px;
    height:42px;
    min-width:42px;
  }
}
@media(max-width:420px){
  .category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .trust-strip{grid-template-columns:1fr!important}
}

/* Mobile acceptance hardening. Desktop rules above remain unchanged. */
@media(max-width:760px){
  html,body{max-width:100%;overflow-x:hidden}
  body{
    padding-bottom:calc(70px + env(safe-area-inset-bottom))!important;
    -webkit-text-size-adjust:100%;
  }
  button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
  button,.btn,.pill,.primary,.ghost-btn{touch-action:manipulation}
  input,select,textarea{min-width:0;font-size:16px!important}

  .announcement{min-height:30px;padding:6px 10px;line-height:1.35;text-align:center}
  .topbar{padding-left:max(10px,env(safe-area-inset-left))!important;padding-right:max(10px,env(safe-area-inset-right))!important}
  .header-shell{width:100%;min-width:0}
  .brand{min-width:0;padding:0!important}
  .header-logo{max-width:min(148px,48vw)!important}
  #loginBtn.line-login-card{flex:0 0 auto;white-space:nowrap}

  .app{width:100%;max-width:none;padding:0!important}
  .marketplace-hero{width:100%;margin:0!important}
  .market-search,.adventure-actions{max-width:100%}
  .market-search>*{min-width:0}
  .market-search select{padding-left:10px;padding-right:26px}
  .adventure-actions button{width:100%;justify-content:flex-start}

  .category-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:100%}
  .category-grid button,
  .category-grid button:nth-child(2n),
  .category-grid button:nth-child(3n){
    min-width:0;
    border-bottom:1px solid #eadcc7!important;
  }
  .category-grid button:nth-child(odd){border-right:1px solid #eadcc7!important}
  .category-grid button:nth-child(even){border-right:0!important}
  .category-grid button:nth-last-child(-n+2){border-bottom:0!important}
  .category-grid button>span{
    min-width:0;
    align-self:center;
  }
  .category-grid button b,
  .category-grid button small{
    display:block;
  }
  .category-grid button b{
    margin-bottom:4px;
    line-height:1.25;
    white-space:nowrap;
  }
  .category-grid button small{
    line-height:1.55;
    white-space:nowrap;
  }

  .home-operations{overflow:hidden}
  .market-heading{min-width:0}
  .market-tabs{
    max-width:100%;
    padding-bottom:3px;
    overscroll-behavior-inline:contain;
    scrollbar-width:thin;
  }
  .market-tabs button{min-height:44px;flex:0 0 auto}
  .more-products{min-height:44px}
  .home-mini-card{width:100%;min-width:0}
  .home-mini-card>div{min-width:0}
  .trust-strip>div,
  .trust-strip>.trust-support{min-width:0}

  .view.active:not(#homeView){max-width:calc(100% - 20px)}
  .panel{width:100%;min-width:0}
  .panel>h2{font-size:27px;line-height:1.25}
  .section-head{align-items:flex-start;flex-wrap:wrap}
  .section-head button{min-height:44px}
  .listing-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .listing-tabs button{min-width:0;min-height:44px;padding-left:8px;padding-right:8px}
  .filters>*{min-width:0}
  .filters button,.form>.primary{width:100%;min-height:52px}
  .grid{width:100%;min-width:0}
  #searchView .grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .product-card{width:100%;min-width:0}
  #searchView .product-card{
    gap:5px!important;
    padding:9px!important;
    border-radius:16px!important;
  }
  #searchView .product-card>img{
    height:auto!important;
    aspect-ratio:1/1!important;
    margin-bottom:3px!important;
    border-radius:11px!important;
  }
  #searchView .product-card .listing-badge,
  #searchView .product-card .badge{
    width:max-content;
    max-width:100%;
    margin:0 3px 2px 0!important;
    padding:3px 6px!important;
    font-size:9px!important;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  #searchView .product-card h4{
    min-height:2.5em!important;
    margin:2px 0!important;
    font-size:14px!important;
  }
  #searchView .product-card p{
    margin:1px 0!important;
    font-size:10px!important;
    line-height:1.35!important;
  }
  #searchView .product-card .product-card-seller{display:none!important}
  #searchView .product-card .price{
    margin-top:3px!important;
    font-size:14px!important;
    line-height:1.3!important;
  }
  #searchView .product-card .card-actions{
    width:100%;
    margin-top:5px!important;
  }
  #searchView .product-card .card-actions button{
    width:100%;
    min-height:38px;
    padding:7px 5px!important;
    font-size:11px!important;
  }

  #sellView .form,
  #sellView .form>*,
  #sellView .form .two>*{min-width:0}
  .listing-type-field{min-width:0;padding:16px!important}
  #sellView .listing-choice{min-width:0;padding:14px!important}
  .upload-box{min-width:0;padding:18px 14px!important}
  .upload-box p{overflow-wrap:anywhere}
  .image-preview{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .preview-item{min-width:0}

  #memberView .member-box,
  #memberView .member-stat{min-width:0}
  .copy-row,.copy-row>*{min-width:0}
  .copy-row button{width:100%;min-height:46px}
  .copy-row input{overflow:hidden;text-overflow:ellipsis}
  .diagnostics-result{max-width:100%;overflow:auto}

  .modal{display:block;padding:0}
  .detail-card{
    width:100%;
    min-height:100dvh;
    max-height:100dvh;
    padding:calc(62px + env(safe-area-inset-top)) 14px calc(92px + env(safe-area-inset-bottom))!important;
    border:0!important;
    border-radius:0!important;
  }
  .modal-close{
    position:fixed;
    z-index:3;
    top:calc(10px + env(safe-area-inset-top));
    right:14px;
    width:auto;
    min-width:88px;
    min-height:44px;
    padding:0 14px;
    font-size:15px;
  }
  .detail-layout,.detail-meta{grid-template-columns:1fr!important}
  .detail-main-img{height:auto!important;max-height:48vh;aspect-ratio:4/3;object-fit:contain}
  .detail-info h2{font-size:23px!important;overflow-wrap:anywhere}
  .detail-desc{overflow-wrap:anywhere}
  .share-box{grid-template-columns:1fr!important}
  .share-box>*{grid-column:auto!important;min-height:46px}

  .legal-footer{padding-bottom:calc(94px + env(safe-area-inset-bottom))!important}
  .platform-statement span{overflow-wrap:anywhere}
  .bottom-nav{
    height:calc(70px + env(safe-area-inset-bottom))!important;
    min-height:calc(70px + env(safe-area-inset-bottom))!important;
    padding-bottom:env(safe-area-inset-bottom);
    padding-left:env(safe-area-inset-left);
    padding-right:env(safe-area-inset-right);
  }
  .bottom-nav button,.bottom-nav a{
    min-width:0;
    min-height:44px;
    padding:8px 4px;
    border-radius:0;
  }
}

@media(max-width:360px){
  .header-logo{max-width:126px!important}
  .marketplace-hero .hero-copy h2{font-size:29px!important}
  .category-grid button{grid-template-columns:56px minmax(0,1fr);min-height:102px}
  .category-grid button>img{width:56px;height:80px}
  .category-grid button b{font-size:15px}
  .category-grid button small{font-size:10px}
  .home-product-row{gap:7px!important}
  .home-mini-card{
    grid-template-columns:54px minmax(0,1fr)!important;
    gap:6px!important;
    padding:6px!important;
  }
  .home-mini-card img,.home-mini-card .home-mini-placeholder{
    width:54px!important;
    height:72px!important;
  }
  .home-mini-card h4{font-size:12px!important}
  .home-mini-card b{font-size:11px!important}
  #searchView .grid{gap:7px!important}
  #searchView .product-card{padding:7px!important}
}
