:root { --ink:#080809; --paper:#f3efe6; --coral:#ff644f; --yellow:#f4c84e; --muted:rgba(243,239,230,.65); --line:rgba(243,239,230,.28); --serif:Georgia,"Times New Roman",serif; --sans:Arial,Helvetica,sans-serif; }
* { box-sizing:border-box; }
[hidden] { display:none!important; }
html { background:var(--ink); }
body { margin:0; color:var(--paper); background:var(--ink); font-family:var(--sans); }
button,input,textarea { color:inherit; font:inherit; }
button { cursor:pointer; }
a { color:inherit; text-decoration:none; }
:focus-visible { outline:2px solid var(--yellow); outline-offset:4px; }
.wordmark { font:700 20px/1 var(--sans); letter-spacing:.16em; color:var(--coral); }
.contributor-login { min-height:100svh; width:min(720px,calc(100% - 48px)); margin:auto; display:grid; grid-template-rows:auto 1fr auto; padding:max(34px,env(safe-area-inset-top)) 0 max(28px,env(safe-area-inset-bottom)); }
.contributor-login > div { align-self:center; }
h1 { margin:0; font:italic 400 clamp(54px,11vw,88px)/.94 var(--serif); letter-spacing:-.045em; }
.contributor-login p { max-width:460px; margin:28px 0 0; color:var(--muted); font-size:14px; line-height:1.65; }
.contributor-login form { max-width:500px; display:grid; gap:22px; margin-top:36px; }
label { display:grid; gap:9px; color:var(--paper); font-size:10px; letter-spacing:.15em; text-transform:uppercase; }
input,textarea { width:100%; border:1px solid var(--line); border-radius:0; padding:15px; outline:0; background:transparent; color:var(--paper); letter-spacing:normal; text-transform:none; }
input:focus,textarea:focus { border-color:var(--coral); }
form button[type="submit"] { min-height:54px; border:1px solid var(--coral); background:var(--coral); color:var(--ink); font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
form button:disabled { opacity:.5; cursor:wait; }
form output { min-height:18px; color:var(--coral); font-size:11px; }
.quiet-link { justify-self:start; color:var(--muted); font-size:10px; letter-spacing:.14em; text-transform:uppercase; }
.contributor-workspace { width:min(920px,100%); margin:auto; }
.contributor-workspace > header { min-height:116px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:0 clamp(26px,6vw,54px); border-bottom:1px solid var(--line); }
.contributor-workspace > header span { border-bottom:2px solid var(--coral); padding:9px 0; font-size:10px; letter-spacing:.13em; text-transform:uppercase; }
.contributor-intro { padding:55px clamp(26px,6vw,54px) 44px; }
.contributor-intro h1 { font-size:clamp(57px,11vw,88px); }
.contributor-intro i { display:block; width:62px; height:5px; margin:28px 0; background:var(--yellow); }
.contributor-intro p { max-width:570px; margin:0; font-size:13px; line-height:1.55; letter-spacing:.1em; text-transform:uppercase; }
.contribution-rotation { padding:38px clamp(26px,6vw,54px) 42px; border-top:1px solid var(--line); }
.rotation-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; }
.rotation-heading span { color:var(--coral); font-size:9px; letter-spacing:.16em; text-transform:uppercase; }
.rotation-heading h2 { margin:8px 0 0; font:400 39px/1 var(--serif); }
.rotation-heading h2 em { color:var(--yellow); }
.rotation-heading output { color:var(--paper); font:italic 17px var(--serif); }
.usage-track { height:7px; overflow:hidden; margin-top:22px; background:rgba(243,239,230,.16); }
.usage-track i { width:0; height:100%; display:block; background:linear-gradient(90deg,var(--coral),var(--yellow)); transition:width .4s ease; }
.rotation-note { max-width:690px; margin:16px 0 0; color:var(--muted); font:14px/1.55 var(--serif); }
.contributor-jobs { margin:20px 0 0; border-left:3px solid var(--yellow); padding:9px 12px; color:var(--yellow); font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.contribution-library { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:26px; }
.contribution-library > p { grid-column:1/-1; margin:0; padding:28px 0; color:var(--muted); font:italic 16px var(--serif); }
.contribution-item { min-width:0; position:relative; overflow:hidden; border:1px solid var(--line); background:#111; }
.contribution-item img { width:100%; aspect-ratio:1; display:block; object-fit:cover; filter:saturate(.8); }
.contribution-item.video::after { content:"▶"; position:absolute; top:8px; right:8px; width:28px; height:28px; display:grid; place-items:center; background:rgba(8,8,9,.75); font-size:9px; }
.contribution-item-body { display:grid; gap:5px; padding:12px; }
.contribution-item-body strong { overflow:hidden; font:italic 15px var(--serif); text-overflow:ellipsis; white-space:nowrap; }
.contribution-item-body small { color:var(--muted); font-size:8px; letter-spacing:.08em; text-transform:uppercase; }
.contribution-item-body button { min-height:34px; margin-top:5px; border:1px solid rgba(255,100,79,.55); background:transparent; color:var(--coral); font-size:8px; letter-spacing:.12em; text-transform:uppercase; }
.contribution-item-body button.confirming { background:var(--coral); color:var(--ink); }
.contributor-upload-form { padding:38px clamp(26px,6vw,54px) 30px; background:var(--paper); color:var(--ink); }
.contributor-upload-form label { color:var(--ink); }
.contributor-upload-form input,.contributor-upload-form textarea { color:var(--ink); border-color:rgba(8,8,9,.65); }
.field-row { display:grid; grid-template-columns:1.4fr 1fr; gap:16px; margin-bottom:22px; }
.mobile-drop { min-height:230px; display:grid; place-items:center; align-content:center; gap:10px; margin-top:26px; border:1px dashed var(--ink); cursor:pointer; text-align:center; }
.mobile-drop svg { width:44px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.mobile-drop strong { font-size:13px; letter-spacing:.1em; }
.mobile-drop span { font-size:10px; }
#contributor-files { display:none; }
.queue-heading { display:flex; align-items:center; justify-content:space-between; margin-top:28px; padding-bottom:10px; border-bottom:1px solid var(--ink); font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.queue-heading button { border:0; padding:0; background:transparent; color:var(--coral); font-size:10px; text-transform:uppercase; }
.contributor-queue > p { margin:0; padding:22px 0; color:rgba(8,8,9,.58); font:italic 15px var(--serif); }
.contributor-file { display:grid; grid-template-columns:58px 1fr auto; gap:14px; align-items:center; min-height:70px; border-bottom:1px solid rgba(8,8,9,.35); }
.contributor-file img,.file-placeholder { width:58px; height:58px; object-fit:cover; background:#18181a; }
.file-placeholder { display:grid; place-items:center; color:var(--paper); font-size:9px; }
.contributor-file > span { min-width:0; display:grid; gap:4px; }
.contributor-file strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; font-weight:400; }
.contributor-file small { color:rgba(8,8,9,.62); font-size:9px; }
.contributor-file button { width:36px; height:36px; border:0; background:transparent; font-size:24px; }
.send-button { width:100%; margin-top:24px; border:0!important; background:var(--coral)!important; color:var(--paper)!important; }
.contributor-status { display:block; margin-top:14px; padding:14px; border:1px solid var(--yellow); color:var(--ink); text-align:center; }
.contributor-workspace > footer { min-height:92px; display:flex; justify-content:center; align-items:center; gap:42px; padding-bottom:env(safe-area-inset-bottom); }
.contributor-workspace > footer button,.contributor-workspace > footer a { border:0; border-bottom:2px solid var(--yellow); padding:8px 0; background:transparent; color:var(--paper); font-size:10px; letter-spacing:.13em; text-transform:uppercase; }
@media(max-width:600px){.contributor-workspace > header{min-height:92px}.contributor-intro{padding-top:44px}.rotation-heading{align-items:start;flex-direction:column;gap:12px}.rotation-heading output{font-size:15px}.contribution-library{grid-template-columns:repeat(2,minmax(0,1fr))}.field-row{grid-template-columns:1fr}.contributor-upload-form{padding-top:30px}.mobile-drop{min-height:200px}.contributor-workspace > footer{gap:28px}.contributor-workspace > footer button,.contributor-workspace > footer a{font-size:9px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
