/* Web36 adds browser chrome and desktop layout to the complete App36 styles. */
html.web-client{--web-download-height:calc(56px + env(safe-area-inset-top,0px));scroll-padding-top:calc(var(--web-download-height) + 16px)}
html.web-client,html.web-client body{min-height:100%;background:var(--theme34-page,#F2F3F5);color:var(--theme34-ink,#202226)}
html.web-client .app{margin-top:var(--web-download-height)}
html.web-client #webDownloadBar{position:fixed;inset:0 0 auto;z-index:201;height:var(--web-download-height);padding-top:env(safe-area-inset-top,0px);background:rgba(242,243,245,.96);border-bottom:1px solid var(--theme34-line,#E2E4E8);color:var(--theme34-ink,#202226);backdrop-filter:blur(18px)}
html.web-client .webDownloadBarInner{display:flex;align-items:center;justify-content:flex-end;gap:12px;max-width:1280px;height:56px;margin:0 auto;padding:6px 24px;box-sizing:border-box}
html.web-client .webDownloadPlatform{font-size:12px;color:var(--theme34-secondary,#62666E);white-space:nowrap}
html.web-client .webDownloadLink{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border:1px solid var(--theme34-brand,#34373D);border-radius:12px;background:var(--theme34-brand,#34373D);color:#fff;text-decoration:none;font-size:13px;font-weight:650;white-space:nowrap;touch-action:manipulation}
html.web-client .webDownloadLink svg{width:17px;height:17px;flex:none}
html.web-client .webDownloadLink:hover{background:#202226}
html.web-client .webDownloadLink:focus-visible{outline:3px solid #9298A2;outline-offset:3px}
html.web-client .authGate{top:var(--web-download-height);background:var(--theme34-page,#F2F3F5)}
/* Chat uses the full visual viewport, including its fixed header and keyboard area. */
html.web-client body.chat-open #webDownloadBar{display:none}
html.web-client #moreView .pageHeader,html.web-client #profileView .appSubpage>.detailHeader,html.web-client #adminPanel .adminHeader{top:var(--web-download-height)}
html.web-client .syncProgress{top:calc(12px + var(--web-download-height))}
/* Virtual collection rows already control their spacers; browser intrinsic
   placeholder estimates can otherwise shift the long grid during scrolling. */
html.web-client .collectionCardV3,html.web-client .collectionListV3{content-visibility:visible;contain-intrinsic-size:none}

@media(min-width:960px){
  html.web-client .app{max-width:1280px;padding:28px 32px 48px 232px!important;margin-left:auto;margin-right:auto}
  html.web-client .top{min-height:58px;margin:0 0 26px}
  html.web-client #profileView,html.web-client #messagesView{max-width:880px;margin:0 auto}
  html.web-client #moreView{max-width:960px;margin:0 auto}
  html.web-client .assetKpiGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
  html.web-client .assetSplitSection{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  html.web-client .assetHistory{height:190px}
  html.web-client .collectionGrid,html.web-client .communityGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
  html.web-client #discoverConsignment34 .ccShopList33{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
  html.web-client.appVisual30 body .nav{left:max(20px,calc(50% - 640px + 20px))!important;right:auto!important;top:calc(84px + var(--web-download-height))!important;bottom:auto!important;transform:none!important;width:180px!important;height:auto!important;padding:10px!important;grid-template-columns:1fr!important;grid-template-rows:repeat(5,58px)!important;row-gap:5px!important;border-radius:22px!important;background:#fff!important;border:1px solid var(--theme34-line,#E2E4E8)!important;box-shadow:0 12px 34px #20222609!important;overflow:visible!important}
  html.web-client.appVisual30 body .nav>button{height:58px!important;min-height:58px!important;max-height:none!important;width:100%!important;min-width:0!important;max-width:none!important;display:grid!important;grid-template-columns:32px minmax(0,1fr)!important;align-items:center!important;justify-items:start!important;padding:0 13px!important;border-radius:14px!important;gap:7px!important;transform:none!important}
  html.web-client.appVisual30 body .nav>button.on{background:var(--theme34-soft,#EAECF0)!important;color:var(--theme34-ink,#202226)!important}
  html.web-client.appVisual30 body .nav .navIcon{width:28px;font-size:21px!important;color:inherit}
  html.web-client.appVisual30 body .nav>button>span:last-of-type{font-size:13px!important;font-weight:650!important;line-height:1.25!important;white-space:normal}
  html.web-client.appVisual30 body .nav .add{background:var(--theme34-brand,#34373D)!important;color:#fff!important;margin:0!important;box-shadow:none!important;flex:none!important}
  html.web-client.appVisual30 body .nav .add span{font-size:28px!important;line-height:1!important;font-weight:300!important;grid-column:1/-1;justify-self:center}
  html.web-client.appVisual30 body .navBadge{top:8px!important;right:10px!important}
  html.web-client .toast{bottom:28px}
  html.web-client .overlay{align-items:center;padding:24px}
  html.web-client #editorBg .sheet{border-radius:24px;height:min(90dvh,var(--editor30-height,90dvh));max-height:min(90dvh,var(--editor30-height,90dvh))}
  html.web-client .cardDetailOverlay{align-items:center;padding:24px}
  html.web-client .cardDetailSheet{max-height:calc(100dvh - 48px);border-radius:24px}
  html.web-client .profilePageSheet,html.web-client .collectorProfileSheet{max-height:90dvh;border-radius:24px}
  html.web-client body.settingsVisible .app,html.web-client body.profileSubpageVisible .app,html.web-client body.adminVisible .app{max-width:960px;padding-left:32px!important}
}
@media(min-width:1200px){html.web-client .collectionGrid,html.web-client .communityGrid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:959px){html.web-client .webDownloadBarInner{padding-left:20px;padding-right:20px}}
@media(max-width:370px){html.web-client .webDownloadPlatform{display:none}}
@media(prefers-reduced-motion:reduce){html.web-client *{animation:none!important;scroll-behavior:auto!important}}

/* Match the visual viewport when a mobile browser keyboard is open. */
html.web-client #editorBg{inset:auto;top:var(--web-editor-top,0px);left:var(--web-editor-left,0px);width:var(--web-editor-width,100%);height:var(--web-editor-height,100dvh)}
html.web-client.appVisual30 #editorBg>.sheet{max-height:100%;height:100%}
html.web-client.appVisual30 #editorBg.webKeyboard36>.sheet>.actions{display:none}
html.web-client.appVisual30 #editorBg.webKeyboard36>.sheet>.sheetTop{min-height:54px;padding-top:5px;padding-bottom:5px}
html.web-client .webKeyboardDone36{display:none;border:0;background:var(--theme34-soft,#EAECF0);border-radius:10px;font-size:13px;min-height:40px;padding:6px 10px;margin-left:auto;margin-right:10px}
html.web-client #editorBg.webKeyboard36 .webKeyboardDone36{display:block}
html.web-client #editorBg>.webPlayerCandidates36{position:fixed;z-index:10;margin:0;box-sizing:border-box;background:#fff;border:1px solid var(--theme34-line,#E2E4E8);border-radius:14px;box-shadow:0 8px 26px #20222624;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;scroll-behavior:auto;color:var(--theme34-ink,#202226)}
html.web-client .webPlayerCandidates36 button{font-size:15px;min-height:62px;padding:10px 12px}
html.web-client .webPlayerCandidates36 .playerNames35{flex:1}
@media(min-width:960px){html.web-client.appVisual30 #editorBg>.sheet{height:min(90dvh,100%);max-height:100%}}
