:root, html.bz, html.az {
  --mc-coal: #11100f;
  --mc-coal-soft: #191714;
  --mc-paper: #e7ddc7;
  --mc-paper-dim: rgba(231, 221, 199, .66);
  --mc-oxblood: #8f302a;
  --mc-brass: #a58c5a;
  --mc-line: rgba(231, 221, 199, .2);
  --mc-serif: "Iowan Old Style", Baskerville, "Noto Serif SC", "Source Han Serif SC", "Songti SC", serif;
  --mc-sans: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  --bg: #11100f !important;
  --fg: #e7ddc7 !important;
  --fg3: #a58c5a !important;
  --hl: #8f302a !important;
  --bh: #8f302a !important;
}

html, body {
  min-height: 100%;
  color: var(--mc-paper) !important;
  background:
    radial-gradient(circle at 82% 8%, rgba(165, 140, 90, .09), transparent 34rem),
    radial-gradient(circle at 7% 94%, rgba(143, 48, 42, .11), transparent 35rem),
    linear-gradient(145deg, #171511, var(--mc-coal) 54%, #0b0d0b) !important;
  font-family: var(--mc-sans) !important;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: .035;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.62'/%3E%3C/svg%3E");
}

a { color: var(--mc-brass) !important; }
button, input, select, textarea { font-family: var(--mc-sans) !important; }
button, input[type="submit"] { border-radius: 2px !important; }

/* Login: keep only the action that matters. */
body > #wrap {
  width: min(470px, calc(100vw - 36px)) !important;
  margin: 12vh 0 0 clamp(18px, 10vw, 160px) !important;
  padding: clamp(28px, 4vw, 48px) !important;
  border: 1px solid var(--mc-line) !important;
  background: rgba(25, 23, 20, .82) !important;
  box-shadow: 0 30px 70px rgba(0, 0, 0, .36) !important;
}
#wrap::before {
  content: "放映室";
  display: block;
  margin-bottom: 3rem;
  color: var(--mc-paper) !important;
  font: 500 clamp(3rem, 6vw, 5.2rem)/.95 var(--mc-serif) !important;
  letter-spacing: -.05em;
}
#wrap #a, #wrap #v, #wrap #b, #wrap #cc, #wrap .agr, #wrap > ul, #pb { display: none !important; }
#wrap #l { margin: 0 0 1.4rem !important; font-size: 0 !important; }
#wrap #l::after {
  content: "输入你的上传密码";
  color: var(--mc-brass) !important;
  font: 500 10px/1 var(--mc-sans) !important;
  letter-spacing: .16em;
}
#wrap #lf { display: grid !important; grid-template-columns: 1fr auto; gap: 10px; }
#wrap #lp {
  min-width: 0 !important;
  height: 52px !important;
  padding: 0 14px !important;
  color: var(--mc-paper) !important;
  background: rgba(231, 221, 199, .04) !important;
  border: 1px solid var(--mc-line) !important;
  border-radius: 2px !important;
  outline: none !important;
}
#wrap #lp:focus { border-color: var(--mc-brass) !important; }
#wrap #ls {
  min-width: 104px !important;
  padding: 0 18px !important;
  color: var(--mc-paper) !important;
  background: var(--mc-oxblood) !important;
  border: 0 !important;
  font-size: 14px !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
}
#wrap #lm { grid-column: 1 / -1; color: var(--mc-paper-dim) !important; }

/* Authenticated browser and uploader. */
#top, #ops, #tree, #files, #widget, #u2, #u3, #op_cfg, #op_up2k {
  color: var(--mc-paper) !important;
  background-color: rgba(17, 16, 15, .92) !important;
}
#top, #ops { border-color: var(--mc-line) !important; box-shadow: none !important; }
#path, #files, #tree { font-family: var(--mc-sans) !important; }
#files a, #tree a { color: var(--mc-paper) !important; }
#files tr:hover, #tree li:hover { background: rgba(231, 221, 199, .05) !important; }
#u2, #u3, .dlg, .modal, .opview {
  border: 1px solid var(--mc-line) !important;
  border-radius: 2px !important;
  box-shadow: 0 28px 72px rgba(0, 0, 0, .48) !important;
}
input, select, textarea {
  color: var(--mc-paper) !important;
  background: rgba(231, 221, 199, .045) !important;
  border-color: var(--mc-line) !important;
}
input:focus, select:focus, textarea:focus { border-color: var(--mc-brass) !important; outline: none !important; }
#u2 button, #u3 button, .btn, button.ok, input[type="submit"] {
  color: var(--mc-paper) !important;
  background: var(--mc-oxblood) !important;
  border-color: var(--mc-oxblood) !important;
}
.prog, .progress { background: rgba(231, 221, 199, .16) !important; }
.prog > *, .progress > * { background: var(--mc-oxblood) !important; }

/* Authenticated view: Copyparty stays underneath, but only its resilient
   up2k picker, ETA and progress table remain visible. Selectors follow the
   project's official minimal-up2k plugin for this pinned release. */
html.midnight-upload,
html.midnight-upload body { min-height: 100% !important; }

html.midnight-upload body {
  overflow-x: hidden !important;
  padding: 0 clamp(18px, 5vw, 72px) 56px !important;
}

html.midnight-upload #ops,
html.midnight-upload #path,
html.midnight-upload #tree,
html.midnight-upload #files,
html.midnight-upload #wfp,
html.midnight-upload #u2conf td.c + .c,
html.midnight-upload #u2cards,
html.midnight-upload #srch_dz,
html.midnight-upload #srch_zd,
html.midnight-upload #wrap,
html.midnight-upload #widget {
  display: none !important;
}

html.midnight-upload #op_up2k {
  display: block !important;
  width: min(920px, 100%) !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: clamp(30px, 7vh, 76px) 0 40px !important;
  background: transparent !important;
}

#midnight-upload-head {
  position: relative;
  margin-bottom: clamp(34px, 6vh, 64px);
  padding-bottom: 24px;
  border-bottom: 1px solid var(--mc-line);
}

#midnight-upload-head h1 {
  margin: 0;
  color: var(--mc-paper);
  font: 500 clamp(2.8rem, 7vw, 5.4rem)/.92 var(--mc-serif);
  letter-spacing: -.055em;
}

#midnight-upload-head p {
  margin: 18px 0 0;
  color: var(--mc-paper-dim);
  font-size: 13px;
  letter-spacing: .04em;
}

#midnight-upload-account {
  position: absolute;
  top: 8px;
  right: 0;
  color: var(--mc-brass) !important;
  font-size: 11px;
  letter-spacing: .1em;
  text-decoration: none;
}

html.midnight-upload #u2conf {
  width: min(760px, 100%) !important;
  margin: 0 auto !important;
}

html.midnight-upload #u2conf.w,
html.midnight-upload #u2conf.ww { width: min(760px, 100%) !important; }

html.midnight-upload #u2conf.w .c,
html.midnight-upload #u2conf.w #u2btn_cw { text-align: center !important; }

html.midnight-upload #u2btn,
html.midnight-upload #u2conf #u2btn {
  position: relative;
  display: grid !important;
  place-items: center;
  width: 100% !important;
  max-width: none !important;
  min-height: clamp(190px, 34vh, 300px) !important;
  margin: 0 !important;
  padding: 34px !important;
  color: transparent !important;
  background: rgba(231, 221, 199, .025) !important;
  border: 1px dashed rgba(165, 140, 90, .62) !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  cursor: pointer !important;
  transition: background-color 180ms ease, border-color 180ms ease !important;
}

html.midnight-upload #u2btn:hover,
html.midnight-upload #u2btn:focus-visible {
  background: rgba(231, 221, 199, .055) !important;
  border-color: var(--mc-paper) !important;
  outline: none !important;
}

html.midnight-upload #u2btn::before {
  content: "选择影片";
  position: absolute;
  top: calc(50% - 22px);
  left: 0;
  right: 0;
  color: var(--mc-paper);
  font: 500 clamp(1.6rem, 4vw, 2.7rem)/1 var(--mc-serif);
  letter-spacing: .04em;
}

html.midnight-upload #u2btn::after {
  content: "或拖放到这里";
  position: absolute;
  top: calc(50% + 25px);
  left: 0;
  right: 0;
  color: var(--mc-paper-dim);
  font: 500 11px/1 var(--mc-sans);
  letter-spacing: .14em;
}

html.midnight-upload #u2etaw {
  margin: 28px auto !important;
  color: var(--mc-paper-dim) !important;
  text-align: center !important;
}

html.midnight-upload #u2etas {
  background: none !important;
  border: 0 !important;
}

html.midnight-upload #u2tabw { margin: 24px 0 0 !important; }
html.midnight-upload #u2tab { width: 100% !important; }
html.midnight-upload #u2foot { display: none !important; }

/* Account/password screen reached from the small link above. */
body:has(#un) > #wrap {
  margin-top: 8vh !important;
}
body:has(#un) #wrap > h1:not(#l),
body:has(#un) #wrap > table,
body:has(#un) #wrap > p,
body:has(#un) #wrap #cc,
body:has(#un) #wrap .agr { display: none !important; }
body:has(#un) #wrap #l {
  margin-bottom: 1.5rem !important;
  color: var(--mc-paper) !important;
  font: 500 clamp(2.2rem, 5vw, 3.8rem)/1 var(--mc-serif) !important;
}
body:has(#un) #wrap #l { font-size: 0 !important; }
body:has(#un) #wrap #l::after { content: "账户"; font-size: clamp(2.2rem, 5vw, 3.8rem); }
body:has(#un) #wrap #x { display: inline-block !important; margin-top: 14px; }

@media (max-width: 650px) {
  body > #wrap { margin: 9vh auto 0 !important; padding: 28px 22px !important; }
  #wrap::before { font-size: clamp(3rem, 16vw, 4.8rem) !important; }
  #wrap #lf { grid-template-columns: 1fr; }
  #wrap #ls { min-height: 50px !important; }
  html.midnight-upload body { padding-inline: 14px !important; }
  html.midnight-upload #op_up2k { padding-top: 30px !important; }
  #midnight-upload-account { position: static; display: inline-block; margin-top: 18px; }
  html.midnight-upload #u2btn,
  html.midnight-upload #u2conf #u2btn { min-height: 190px !important; padding: 24px !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
