/* Download workspace: matches the current site clay design on desktop and mobile. */
.download-page{position:relative;z-index:1;width:min(1160px,calc(100% - 40px));margin:0 auto;padding:58px 0 76px}.download-head{max-width:700px;margin:0 auto 26px;text-align:center}.download-head h1{color:var(--text);font-size:clamp(32px,4vw,46px);letter-spacing:-.045em}.download-head p{margin:14px auto 0;color:var(--text-muted);font-size:15px;line-height:1.8}.parse-shell{display:grid;grid-template-columns:minmax(0,1fr) 44px 128px;align-items:center;gap:10px;margin:0 auto;padding:10px;border:0;border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--clay-lg)}.parse-shell input{width:100%;height:54px;min-width:0;padding:0 16px;border:0;border-radius:18px;background:var(--surface-alt);box-shadow:var(--clay-inset);color:var(--text);outline:0}.parse-shell input:focus{box-shadow:var(--clay-inset),0 0 0 3px var(--pri-glow)}.parse-shell button{height:52px;border:0;border-radius:18px;background:var(--pri-gradient);box-shadow:var(--clay-pri);color:#fff;font-weight:900}.parse-shell .clear-url{background:var(--surface-alt);box-shadow:var(--clay-sm);color:var(--text-muted)}.supported{margin:14px auto 0;color:var(--text-muted);text-align:center;font-size:12px}.notice{max-width:760px;margin:18px auto 0;border:0!important;border-radius:var(--radius-sm)!important;box-shadow:var(--clay-sm)}.media-card,.task-section{border:0!important;border-radius:var(--radius-lg)!important;background:var(--surface)!important;box-shadow:var(--clay-lg)!important}.media-card{margin-top:30px!important}.media-main{padding:24px!important}.media-thumb{border-radius:var(--radius)!important;box-shadow:var(--clay-sm)}.media-info h2,.workspace h3,.task-title h2{color:var(--text)!important}.media-info p,.workspace .desc,.task p{color:var(--text-muted)!important}.chip{background:var(--pri-light)!important;color:var(--pri)!important}.workspaces{gap:16px!important;padding:0 24px 24px!important}.workspace{border:0!important;border-radius:var(--radius)!important;background:var(--surface-alt);box-shadow:var(--clay-inset)}.workspace small.label{color:var(--pri)!important}.formats{gap:10px!important}.format{border:0!important;border-radius:16px!important;background:var(--surface)!important;box-shadow:var(--clay-sm);color:var(--text)!important;transition:transform var(--t-fast),box-shadow var(--t-fast)}.format:hover{transform:translateY(-2px)}.format.selected{border:0!important;background:var(--pri-light)!important;box-shadow:var(--clay-pri)!important;color:var(--pri)!important}.credit-info{border:0!important;border-radius:14px!important;background:var(--surface)!important;box-shadow:var(--clay-inset);color:var(--text-muted)!important}.credit-info b{color:var(--pri)!important}.mode,.audio-option,.asset-actions button,.task-action{border:0!important;background:var(--surface)!important;box-shadow:var(--clay-sm);color:var(--text-muted)!important}.mode.selected,.audio-option.selected{background:var(--pri-light)!important;box-shadow:var(--clay-pri)!important;color:var(--pri)!important}.primary-action{border-radius:16px!important;background:var(--pri-gradient)!important;box-shadow:var(--clay-pri)!important}.task-section{padding:24px!important}.task{border:0!important;border-radius:18px!important;background:var(--surface-alt)!important;box-shadow:var(--clay-inset)}.task-state,.task-title a{color:var(--pri)!important}.progress{background:var(--pri-light)!important}.progress i{background:var(--pri-gradient)!important}
@media(max-width:740px){.download-page{width:100%;padding:30px 16px calc(42px + env(safe-area-inset-bottom))}.download-head{margin-bottom:20px;text-align:left}.download-head h1{font-size:31px;line-height:1.18}.download-head p{margin-top:10px;font-size:14px;line-height:1.65}.parse-shell{grid-template-columns:minmax(0,1fr) 44px;padding:8px;border-radius:22px}.parse-shell input{height:52px;padding:0 13px;font-size:14px}.parse-shell button{height:52px}.parse-shell #parseBtn{grid-column:1/-1;width:100%;height:50px}.supported{padding:0 6px;text-align:left;line-height:1.6}.media-card{margin-top:22px!important;border-radius:24px!important}.media-main{gap:13px!important;padding:16px!important}.media-info h2{font-size:18px!important}.workspaces{gap:14px!important;padding:0 16px 16px!important}.workspace{padding:16px!important}.workspace h3{font-size:19px!important}.formats{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))}.format{min-width:0!important;min-height:76px;padding:11px 8px!important}.modes,.audio-options{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))}.mode,.audio-option{min-height:46px;padding:9px 7px!important;font-size:12px!important}.modes .mode:last-child{grid-column:1/-1}.primary-action{height:52px!important;font-size:15px!important}.asset-actions{grid-template-columns:1fr 1fr!important}.asset-actions button{height:48px!important;padding:7px!important;font-size:12px}.task-section{margin-top:24px!important;padding:17px!important;border-radius:24px!important}.task-title{gap:5px!important}.task-title h2{font-size:20px!important}.task{grid-template-columns:44px minmax(0,1fr)!important;padding:11px!important}.task img{width:44px!important;height:38px!important}.task-state{grid-column:2;text-align:left!important}.task-action{min-height:34px}.hi-guide{border-radius:14px!important}}
/* Mini Program handoff is a focused confirmation/download screen.  These
   blocks are irrelevant after parsing and must not reserve vertical space on
   iOS when the browser restores a scroll position. */
/* iOS Safari may leave a blank repaint band on long, dynamically changing
   download pages when global smooth scrolling meets a sticky navigation bar. */
@media(max-width:740px){
  html:has(body[data-page="download"]){scroll-behavior:auto!important}
  body[data-page="download"] .download-page{isolation:isolate}
  /* Defensive bounds for WebKit: an interrupted async update must never let
     a parser/status block reserve an entire viewport above the media card. */
  body[data-page="download"] .download-head{max-height:170px;overflow:hidden}
  body[data-page="download"] .parse-shell{max-height:150px;overflow:hidden}
  body[data-page="download"] .supported{max-height:52px;overflow:hidden}
  body[data-page="download"] .notice{max-height:132px;overflow:auto}
  body[data-page="download"] .parse-progress{max-height:210px;overflow:hidden}
  body[data-page="download"] .media-card{clear:both}
}
