:root{--font-mono:"Roboto Mono", monospace;--color-bg:#0b0c0f;--color-panel:#15181d;--color-panel-strong:#1f242b;--color-text:#f6f3ea;--color-muted:#a6abb4;--color-line:#373d46;--color-accent:#56b47f;--color-accent-strong:#338d65;--color-error:#f06a6a}*{box-sizing:border-box}html{background:var(--color-bg);-webkit-font-smoothing:antialiased;font-size:18px;line-height:32px}html,body,#app{height:100%}body{color:var(--color-text);margin:0;font-family:system-ui;font-size:18px;line-height:32px}@media (max-width:1024px){body{font-size:15px;line-height:24px}}button,input{font:inherit}button{color:inherit}img{max-width:100%;height:auto;display:block}h1{margin:40px 0;font-size:64px;font-weight:700;line-height:70px}@media (max-width:1024px){h1{margin:24px 0;font-size:42px;line-height:42px}}@media (max-width:768px){h1{font-size:38px;line-height:38px}}@media (max-width:400px){h1{font-size:32px;line-height:32px}}.uploadPage{background:linear-gradient(180deg, #56b47f14, transparent 320px), var(--color-bg);min-height:100vh;padding:48px 20px}.uploadShell{width:min(920px,100%);margin:0 auto}.uploadHeader{margin-bottom:28px}.eyebrow{color:var(--color-accent);letter-spacing:0;text-transform:uppercase;margin:0 0 10px;font-size:.78rem;font-weight:700}.uploadHeader h1{margin:0;font-size:clamp(2.25rem,7vw,5rem);line-height:1}.lede{max-width:620px;color:var(--color-muted);margin:18px 0 0}.publicationChooser{border:0;flex-wrap:wrap;gap:10px;margin:0 0 18px;padding:0;display:flex}.publicationChooser p{width:100%;color:var(--color-muted);margin:0}.publicationOption{cursor:pointer;border:1px solid var(--color-line);background:var(--color-panel);min-height:44px;color:var(--color-text);border-radius:8px;align-items:center;gap:9px;padding:7px 12px;font-size:.9rem;font-weight:700;line-height:1.2;display:inline-flex}.publicationOption:has(input:checked){border-color:var(--color-accent);background:#56b47f29}.publicationOption input{width:18px;height:18px;accent-color:var(--color-accent);margin:0}.fixedPublication{border:1px solid var(--color-accent);min-height:44px;color:var(--color-text);background:#56b47f29;border-radius:8px;align-items:center;margin:0 0 18px;padding:7px 12px;font-size:.9rem;font-weight:700;line-height:1.2;display:inline-flex}.dropzone{cursor:pointer;border:2px dashed var(--color-line);background:var(--color-panel);text-align:center;border-radius:8px;place-items:center;gap:10px;width:100%;min-height:320px;padding:40px 24px;transition:background .16s,border-color .16s,transform .16s;display:grid}.dropzone:hover,.dropzone:focus-visible,.dropzone.isDragging{border-color:var(--color-accent);background:var(--color-panel-strong);outline:none;transform:translateY(-1px)}.dropzone:disabled{cursor:not-allowed;opacity:.62;transform:none}.dropzoneIcon{background:var(--color-accent);color:#07120c;border-radius:50%;place-items:center;width:56px;height:56px;font-size:2.25rem;font-weight:500;line-height:1;display:grid}.dropzoneTitle{font-size:1.35rem;font-weight:700;line-height:1.2}.dropzoneMeta{color:var(--color-muted);font-size:.92rem;line-height:1.4}.fileInput{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.uploadList{gap:12px;margin-top:22px;display:grid}.uploadItem{border:1px solid var(--color-line);background:var(--color-panel);opacity:1;border-radius:8px;grid-template-columns:160px minmax(0,1fr);align-items:start;gap:16px;min-height:184px;padding:12px;transition:opacity .45s,transform .45s;display:grid;transform:translateY(0)}.uploadItem.isRemoving{opacity:0;transform:translateY(-6px)}.uploadPreview{object-fit:cover;background:#0f1115;border-radius:6px;width:160px;height:160px}.uploadDetails{justify-content:space-between;align-items:center;gap:16px;min-width:0;display:flex}.uploadDetails h2{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1rem;line-height:1.3;overflow:hidden}.uploadDetails p{color:var(--color-muted);margin:4px 0 0;font-size:.85rem;line-height:1.3}.uploadStatus{color:var(--color-text);background:#27303a;border-radius:999px;flex:none;padding:4px 10px;font-size:.78rem;font-weight:700;line-height:1.3}.uploadStatus.uploading{background:#314458}.uploadStatus.complete{background:var(--color-accent-strong)}.uploadStatus.error{max-width:260px;color:var(--color-error);white-space:normal;background:#f06a6a24;border-radius:6px}.creditField{grid-column:2;gap:6px;display:grid}.creditField span{color:var(--color-muted);font-size:.82rem;font-weight:700;line-height:1.3}.creditField input{border:1px solid var(--color-line);width:100%;min-height:44px;color:var(--color-text);background:#0f1115;border-radius:6px;padding:8px 10px}.creditField input:focus{border-color:var(--color-accent);outline:none}.submitUploads{cursor:pointer;border:1px solid var(--color-accent);background:var(--color-accent);color:#07120c;border-radius:8px;justify-self:end;min-height:48px;padding:8px 18px;font-size:.95rem;font-weight:800}.submitUploads:disabled{cursor:not-allowed;border-color:var(--color-line);background:var(--color-panel-strong);color:var(--color-muted)}.successfulUploads{margin-top:26px}.successfulUploads h2{margin:0 0 12px;font-size:1rem;line-height:1.3}.successfulUploadList{gap:8px;display:grid}.successfulUploadItem{border:1px solid var(--color-line);background:#15181db8;border-radius:8px;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:10px;min-height:66px;padding:6px;display:grid}.successfulUploadItem img{object-fit:cover;background:#0f1115;border-radius:6px;width:54px;height:54px}.successfulUploadItem h3{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.88rem;line-height:1.25;overflow:hidden}.successfulUploadItem p{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;font-size:.78rem;line-height:1.25;overflow:hidden}@media (max-width:640px){.uploadPage{padding:28px 14px}.dropzone{min-height:240px}.uploadItem{grid-template-columns:88px minmax(0,1fr);min-height:112px}.uploadPreview{width:88px;height:88px}.uploadDetails{flex-direction:column;align-items:flex-start;gap:8px}.creditField{grid-column:1/-1}.submitUploads{width:100%}}p{margin:24px 0}@media (max-width:1024px){p{margin:calc(var(--base) * .75) 0}}a{color:currentColor}a:focus{opacity:.8;outline:none}a:active{opacity:.7;outline:none}svg{vertical-align:middle}.home{flex-direction:column;justify-content:space-between;align-items:center;max-width:1024px;height:100vh;margin:0 auto;padding:45px;display:flex;overflow:hidden}@media (max-width:400px){.home{padding:24px}}.home .content{flex-direction:column;flex-grow:1;justify-content:center;align-items:center;display:flex}.home .content h1{text-align:center}.home .links{align-items:center;gap:12px;display:flex}.home .links a{border-radius:4px;padding:.25rem .5rem;text-decoration:none}.home .links .admin{color:#000;background:#fff;border:1px solid #000}.home .links .docs{color:#fff;background:#000;border:1px solid #fff}.home .footer{align-items:center;gap:8px;display:flex}@media (max-width:1024px){.home .footer{flex-direction:column;gap:6px}}.home .footer p{margin:0}.home .footer .codeLink{background:#3c3c3c;border-radius:4px;padding:0 .5rem;text-decoration:none}
