:root { color-scheme: light; --ink:#172421; --muted:#65716c; --line:#d9dfd8; --paper:#f5f5ef; --white:#fff; --green:#1e5144; --gold:#d39b50; --red:#9a3838; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; background:var(--paper); color:var(--ink); font-family:"Segoe UI",Arial,sans-serif; }
a { color:inherit; }
.topbar { min-height:72px; display:flex; align-items:center; justify-content:space-between; padding:0 clamp(20px,5vw,76px); background:var(--white); border-bottom:1px solid var(--line); }
.brand { text-decoration:none; display:flex; align-items:center; gap:12px; font-size:11px; font-weight:800; letter-spacing:.12em; }
.brand-mark { color:var(--green); font-size:28px; line-height:1; }
.brand-divider { color:#9ba59e; font-weight:400; }
.quiet-link,.private-link { color:var(--green); text-decoration:none; font-size:12px; font-weight:700; }
.quiet-link:hover,.private-link:hover,.file-action:hover { text-decoration:underline; }
.shell { max-width:920px; margin:0 auto; padding:76px 24px 100px; }
.manager-shell { max-width:1000px; }
.eyebrow,.section-index,.limit,.footer { font:500 10px/1.4 Consolas,monospace; letter-spacing:.13em; text-transform:uppercase; }
.eyebrow { color:#858e88; }
h1 { margin:13px 0 14px; font-size:clamp(42px,7vw,68px); line-height:.98; letter-spacing:-.065em; font-weight:600; }
.period { color:var(--gold); }
.intro { max-width:600px; margin:0; color:var(--muted); font-size:15px; line-height:1.8; }
.section-bar { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:52px; padding:0 0 16px; border-bottom:1px solid var(--line); }
.section-bar>div { display:flex; align-items:center; gap:14px; }
.section-index { color:var(--gold); }
h2 { margin:0; font-size:20px; font-weight:700; letter-spacing:-.035em; }
.file-list { margin-top:4px; }
.file-row { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:18px; border-bottom:1px solid var(--line); }
.file-info { min-width:0; display:grid; gap:7px; }
.file-info strong { overflow-wrap:anywhere; font-size:14px; font-weight:700; }
.file-meta { color:var(--muted); font:400 10px/1.5 Consolas,monospace; }
.file-action { flex:none; color:var(--green); font-size:11px; font-weight:800; text-decoration:none; }
.status { margin:20px 0; color:var(--muted); font-size:12px; line-height:1.6; }
.status.error { color:var(--red); }
.more-wrap { margin-top:24px; text-align:center; }
.button { min-height:42px; padding:0 17px; border:0; border-radius:2px; cursor:pointer; font:700 11px "Segoe UI",Arial,sans-serif; }
.button.primary { margin-top:20px; background:var(--green); color:white; }
.button.primary:hover { background:#143c32; }
.button.secondary { color:var(--green); background:transparent; border:1px solid var(--green); }
.upload-card { margin-top:40px; padding:27px clamp(20px,4vw,36px) 29px; background:var(--white); border:1px solid var(--line); }
.card-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:22px; }
.card-heading h2 { margin-top:8px; }
.limit { color:var(--muted); letter-spacing:.04em; }
.field-label { display:block; margin:17px 0 8px; font-size:11px; font-weight:800; }
select,input[type=file] { width:100%; max-width:560px; min-height:42px; padding:10px 12px; border:1px solid var(--line); border-radius:2px; background:white; color:var(--ink); font:12px "Segoe UI",Arial,sans-serif; }
input[type=file] { padding:8px; }
.manager-files { margin-top:50px; }
.manager-files .section-bar { margin-top:0; }
.refresh,.text-button { border:0; padding:4px 0; background:none; color:var(--green); font:700 10px "Segoe UI",Arial,sans-serif; cursor:pointer; }
.file-actions { display:flex; align-items:center; justify-content:flex-end; gap:14px; flex:none; }
.text-button.danger { color:var(--red); }
.footer { display:flex; justify-content:space-between; gap:16px; padding:24px clamp(20px,5vw,76px); border-top:1px solid var(--line); color:#828a84; }
@media (max-width:600px) {
  .topbar { min-height:62px; padding-inline:16px; }
  .brand { gap:8px; font-size:9px; }
  .brand-mark { font-size:23px; }
  .quiet-link { font-size:10px; }
  .shell { padding:54px 18px 74px; }
  .section-bar { margin-top:38px; }
  .file-row { align-items:flex-start; padding:15px 0; }
  .manage-row { display:grid; }
  .file-actions { justify-content:flex-start; }
  .footer { font-size:8px; }
}
