/* 快传 — 只放本模块的布局；按钮、表单、面板、列表一律用 base.css。 */
[hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* 页头：存储用量 */
.drop-meter { max-width: 560px; }
.drop-meter .progress > i { transition: width 0.4s; }

/* 两栏：桌面左发右收，手机上下排 */
.drop-grid { display: grid; gap: 24px; align-items: start; padding-bottom: 24px; }
@media (min-width: 900px) { .drop-grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); } }
.drop-panel { min-width: 0; scroll-margin-top: calc(var(--topbar-h) + 16px); }
.drop-panel > .panel-head { min-height: 58px; }
.drop-seg > button { height: 32px; }

/* 发送：拖放区与待发列表 */
.drop-zone { padding: 32px 20px; }
.drop-zone-actions { justify-content: center; margin-top: 16px; }
.drop-queue { margin: 8px 0 0; padding: 0; list-style: none; max-height: 320px; overflow: auto; }
.drop-queue .list-row { padding: 8px 0; gap: 12px; }
.drop-name { min-width: 0; overflow-wrap: anywhere; font-size: var(--fs-1); }
.drop-size { flex-shrink: 0; font-family: var(--mono); font-size: var(--fs-0); color: var(--fg-2); font-variant-numeric: tabular-nums; }
.drop-x {
  -webkit-appearance: none; appearance: none; flex-shrink: 0;
  width: 32px; height: 32px; padding: 0; border: 1px solid transparent; border-radius: 0;
  background: none; color: var(--fg-3); font-size: 18px; line-height: 1; cursor: pointer;
}
.drop-x:hover { color: var(--danger); border-color: var(--line); }
.drop-over { color: var(--danger) !important; }
.drop-link {
  -webkit-appearance: none; appearance: none; border: 0; border-bottom: 1px solid var(--line); border-radius: 0;
  background: none; padding: 2px 0; color: var(--fg-2); font-size: var(--fs-1); cursor: pointer;
}
.drop-link:hover { color: var(--fg); border-bottom-color: var(--fg); }
.drop-textarea { min-height: 180px; line-height: 1.7; }

/* 发送选项 */
.drop-opts { border: 0; margin: 0; padding: 0; min-width: 0; display: grid; gap: 12px; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr); }
@media (max-width: 560px) {
  .drop-opts { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .drop-opts > .field:first-of-type { grid-column: 1 / -1; }
}

/* 上传中 */
.drop-pct { font-family: var(--mono); font-size: var(--fs-6); font-weight: 500; line-height: 1; letter-spacing: -0.02em; }
.drop-pct-unit { font-size: var(--fs-4); color: var(--fg-2); margin-left: 4px; }
.drop-bar { height: 4px; }

/* 上传完成：取件码、链接、二维码 */
.drop-code {
  font-family: var(--mono); font-weight: 500; font-variant-numeric: tabular-nums;
  font-size: clamp(40px, 13vw, 64px); letter-spacing: 0.12em; line-height: 1.05;
  white-space: nowrap; user-select: all; -webkit-user-select: all;
}
.drop-code:focus { outline: none; }
.drop-share { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 16px; }
.drop-share .grow { flex-basis: 220px; }
.drop-qr { width: 148px; height: auto; flex-shrink: 0; border: 1px solid var(--line); image-rendering: pixelated; image-rendering: crisp-edges; }
.drop-facts { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 6px 16px; margin: 0; padding-top: 12px; border-top: 1px solid var(--line); font-size: var(--fs-1); }
.drop-facts dt { color: var(--fg-2); }
.drop-facts dd { margin: 0; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }

/* 接收 */
.drop-files { margin: 0; padding: 0; list-style: none; }
.drop-files .list-row { padding: 10px 0; }
.drop-files .grow > div + div { margin-top: 2px; }

/* 账户 */
.drop-account-wrap { padding-top: 16px; padding-bottom: 48px; }
.drop-account > summary { cursor: pointer; list-style: none; border-bottom: 0; }
.drop-account > summary::-webkit-details-marker { display: none; }
.drop-account[open] > summary { border-bottom: 1px solid var(--line); }
.drop-account > summary:hover .h3 { text-decoration: underline; text-underline-offset: 3px; }
.drop-caret { font-family: var(--mono); width: 1em; text-align: center; color: var(--fg-2); }
.drop-caret::before { content: "+"; }
.drop-account[open] .drop-caret::before { content: "−"; }
.drop-prose { max-width: 46em; line-height: 1.7; }
.drop-login { display: grid; gap: 12px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; align-items: end; max-width: 640px; }
.drop-mine { margin: 0; padding: 0; list-style: none; }
.drop-mine .list-row { flex-wrap: wrap; align-items: flex-start; }
.drop-pcode { font-family: var(--mono); font-size: var(--fs-3); letter-spacing: 0.08em; font-variant-numeric: tabular-nums; }
.drop-edit { flex-basis: 100%; display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 180px)) auto; align-items: end; }
.drop-edit .notice { grid-column: 1 / -1; }

/* 管理员设置：与账户面板同款折叠；概况用细线格，设置两列 */
.drop-account + .drop-account { margin-top: 16px; }
.drop-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.drop-stats:empty { display: none; }
.drop-stat { padding: 12px 14px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); min-width: 0; }
.drop-stat-v { margin-top: 6px; font-family: var(--mono); font-size: var(--fs-3); letter-spacing: 0.02em; overflow-wrap: anywhere; }
.drop-adm-grid { display: grid; gap: 16px 24px; grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 720px; }
.drop-adm-grid .field { min-width: 0; }
@media (max-width: 560px) {
  .drop-login { grid-template-columns: minmax(0, 1fr); }
  .drop-adm-grid { grid-template-columns: minmax(0, 1fr); }
  .drop-edit { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .drop-edit .btn-group { grid-column: 1 / -1; }
  .drop-mine .list-row > .btn-group { width: 100%; }
}

/* 整页拖放提示：一圈虚线，不遮挡、不发光 */
.drop-overlay {
  position: fixed; inset: 12px; z-index: 60; pointer-events: none;
  display: flex; align-items: center; justify-content: center; text-align: center; padding: 24px;
  border: 1px dashed var(--ink);
  background: var(--bg);
  background: color-mix(in srgb, var(--bg) 92%, transparent);
}
.drop-overlay b { display: block; font-size: var(--fs-4); font-weight: 600; }
.drop-overlay span { display: block; margin-top: 6px; color: var(--fg-2); font-size: var(--fs-1); }

/* 页脚致谢 */
.drop-credit { margin-top: 10px; }
.drop-credit a { color: var(--fg-3); border-bottom: 1px solid var(--line); }
.drop-credit a:hover { color: var(--fg-2); text-decoration: none; border-bottom-color: var(--fg-2); }

@media (max-width: 760px) { .drop-panel { scroll-margin-top: 112px; } }
@media (max-width: 480px) {
  .drop-panel > .panel-head { padding: 10px 14px; }
  .drop-panel > .panel-body { padding: 14px; }
  .drop-zone { padding: 24px 14px; }
  .drop-account > .panel-body, .drop-account > summary { padding-left: 14px; padding-right: 14px; }
}
