.admin-main { width: min(calc(100% - 40px), var(--max)); margin: 0 auto; }
.admin-intro { padding: 84px 0 70px; display: grid; grid-template-columns: 1.25fr .75fr; gap: 60px; align-items: end; }
.admin-intro h1 { margin: 0; font-size: clamp(54px, 8vw, 110px); }
.admin-intro > p:last-child { max-width: 440px; color: var(--muted); font-size: 18px; }
.upload-panel { display: grid; grid-template-columns: .45fr 1fr; gap: clamp(40px, 10vw, 140px); padding: 80px 0; border-top: 1px solid var(--line); }
.upload-panel h2, .release-history h2 { margin: 0; font-size: clamp(34px, 4vw, 54px); letter-spacing: -.05em; }
#release-form { display: grid; gap: 22px; }
label { display: grid; gap: 8px; color: var(--muted); font-size: 13px; font-weight: 700; }
input, select, textarea {
  width: 100%;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: var(--soft-radius);
  background: var(--surface);
  color: var(--text);
  font: inherit;
}
textarea { resize: vertical; min-height: 150px; }
input:focus, select:focus, textarea:focus { outline: 3px solid color-mix(in srgb, var(--accent), transparent 40%); border-color: var(--accent); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.file-drop { min-height: 130px; padding: 24px; place-content: center; text-align: center; border: 1px dashed var(--muted); border-radius: var(--soft-radius); cursor: pointer; }
.file-drop:hover { border-color: var(--accent); color: var(--text); background: var(--surface); }
.file-drop input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.submit-button { justify-self: start; border: 0; cursor: pointer; }
.submit-button:disabled { opacity: .55; cursor: wait; }
.upload-progress, .form-message { grid-column: 2; padding: 18px; border-radius: var(--soft-radius); background: var(--surface); }
.upload-progress span { display: block; width: 38%; height: 3px; margin-bottom: 12px; background: var(--accent); animation: progress 1.2s ease-in-out infinite alternate; }
.upload-progress p { margin: 0; color: var(--muted); }
.form-message.is-error { border: 1px solid var(--accent); }
.release-history { padding: 80px 0 120px; border-top: 1px solid var(--line); }
.release-history h2 { margin-bottom: 44px; }
.history-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.history-item { padding: 24px; border-radius: var(--soft-radius); background: var(--surface); }
.history-item h3 { margin: 0 0 8px; font-size: 24px; }
.history-meta { display: flex; flex-wrap: wrap; gap: 12px; color: var(--muted); font-family: "Cascadia Code", Consolas, monospace; font-size: 12px; }
.history-item a { display: inline-block; margin-top: 18px; text-underline-offset: 4px; }
@keyframes progress { to { transform: translateX(160%); } }
@media (max-width: 760px) {
  .admin-main { width: min(calc(100% - 32px), var(--max)); }
  .admin-intro, .upload-panel { grid-template-columns: 1fr; }
  .admin-intro { padding: 64px 0; }
  .form-row, .history-grid { grid-template-columns: 1fr; }
  .upload-progress, .form-message { grid-column: 1; }
}
@media (prefers-reduced-motion: reduce) { .upload-progress span { animation: none; width: 100%; } }
