:root { --ink:#171716; --soft:#4c4942; --paper:#f2ead8; --cream:#fbf8ef; --oxblood:#7b1e2b; --darkred:#53131d; --gold:#b48a3a; --green:#2e6048; --line:#cdbf9f; --serif:Georgia,'Times New Roman',serif; --sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
* { box-sizing:border-box; }
body { margin:0; min-width:320px; color:var(--ink); background:linear-gradient(rgba(123,30,43,.035) 1px,transparent 1px),var(--paper); background-size:100% 34px; font:16px/1.55 var(--sans); }
a { color:var(--oxblood); text-underline-offset:3px; }
a:hover { color:var(--darkred); }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:3px solid rgba(180,138,58,.55); outline-offset:2px; }
.mast { background:var(--ink); border-bottom:5px solid var(--oxblood); color:white; }
.mast-inner { width:min(1140px,calc(100% - 32px)); min-height:76px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.brand { display:flex; align-items:center; gap:12px; color:white; text-decoration:none; }
.monogram { width:43px; height:48px; display:grid; place-items:center; background:var(--oxblood); color:#f2dfb3; clip-path:polygon(0 0,100% 0,100% 70%,50% 100%,0 70%); font:bold 14px var(--serif); }
.brand strong,.brand small { display:block; }
.brand strong { font:700 23px/1 var(--serif); }
.brand small { margin-top:4px; color:#cfc8b7; font-size:12px; letter-spacing:.08em; text-transform:uppercase; }
.mast-nav { display:flex; flex-wrap:wrap; gap:8px; }
.mast-nav a { color:#f2dfb3; font-weight:800; text-decoration:none; padding:8px 10px; border:1px solid #6b655a; }
.mast-nav a:hover { color:white; border-color:#b48a3a; }
.hero { color:white; background:linear-gradient(120deg,#351014,var(--darkred) 48%,var(--oxblood)); border-bottom:4px solid var(--gold); }
.hero-inner { width:min(1140px,calc(100% - 32px)); margin:auto; padding:40px 0; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr); gap:36px; align-items:end; }
.eyebrow { color:#e7c976; font-size:12px; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
h1,h2,h3 { font-family:var(--serif); line-height:1.08; }
h1 { margin:5px 0 12px; font-size:clamp(40px,6vw,68px); }
h2 { margin:4px 0 12px; font-size:30px; }
h3 { margin:0 0 10px; font-size:21px; }
.hero p { max-width:740px; margin:0; color:#eee1cc; font-size:18px; }
.hero-note { border-left:4px solid var(--gold); padding:10px 0 10px 16px; color:#f5ead6; }
.layout { width:min(1140px,calc(100% - 32px)); margin:28px auto 65px; display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:24px; align-items:start; }
.form-shell,.side-card,.queue-shell { background:var(--cream); border:1px solid var(--line); box-shadow:0 14px 34px rgba(40,30,16,.08); }
.form-shell { padding:clamp(20px,4vw,38px); }
.form-intro { margin:0 0 24px; color:var(--soft); }
fieldset { margin:0 0 25px; padding:0; border:0; }
legend { width:100%; margin-bottom:15px; padding-bottom:8px; border-bottom:2px solid var(--gold); font:700 24px/1.15 var(--serif); }
.grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.field.full { grid-column:1 / -1; }
label { display:block; margin-bottom:5px; color:#36332d; font-size:14px; font-weight:800; }
.hint { display:block; margin-top:4px; color:var(--soft); font-size:13px; font-weight:500; }
input,select,textarea { width:100%; min-height:45px; padding:10px 11px; color:var(--ink); background:white; border:1px solid #aa9c7e; border-radius:0; font:inherit; }
textarea { min-height:115px; resize:vertical; }
.type-details[hidden] { display:none; }
.check { display:flex; align-items:flex-start; gap:10px; padding:13px; background:#efe6d3; border-left:4px solid var(--gold); }
.check input { width:20px; min-height:20px; margin-top:2px; flex:0 0 auto; }
.check label { margin:0; }
.honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.submit-row { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
button { min-height:46px; padding:10px 18px; border:1px solid var(--oxblood); color:white; background:var(--oxblood); font:800 16px var(--sans); cursor:pointer; }
button:hover { background:var(--darkred); }
button:disabled { opacity:.58; cursor:wait; }
.button { display:inline-flex; min-height:46px; align-items:center; justify-content:center; padding:10px 18px; border:1px solid var(--oxblood); color:white; background:var(--oxblood); font-weight:800; text-decoration:none; }
.button.secondary,button.secondary-dark { color:var(--oxblood); background:transparent; }
.button.secondary:hover,button.secondary-dark:hover { color:white; background:var(--darkred); }
button.positive { border-color:var(--green); background:var(--green); }
button.danger { border-color:#762333; background:#762333; }
button.small { min-height:34px; padding:5px 10px; font-size:13px; }
.form-status { min-height:24px; font-weight:750; }
.form-status.error { color:#8b1727; }
.success { padding:24px; background:#e2ecdf; border:1px solid #9db394; border-left:5px solid var(--green); }
.success h2 { color:#214c37; }
.reference { display:inline-block; padding:7px 10px; color:white; background:var(--green); font:800 18px/1 var(--sans); letter-spacing:.08em; }
.side { display:grid; gap:15px; }
.side-card { padding:19px; }
.side-card p,.side-card ul { margin-bottom:0; color:var(--soft); }
.side-card ul { padding-left:20px; }
.side-card li + li { margin-top:7px; }
.privacy { font-size:14px; }
.admin-main { width:min(1240px,calc(100% - 32px)); margin:28px auto 65px; }
.queue-head { display:flex; justify-content:space-between; gap:20px; align-items:end; margin-bottom:18px; }
.queue-head p { max-width:760px; color:var(--soft); margin:0; }
.queue-tools { display:grid; grid-template-columns:repeat(3,minmax(160px,1fr)) auto; gap:10px; padding:15px; background:var(--cream); border:1px solid var(--line); margin-bottom:16px; }
.queue-shell { overflow:hidden; }
.queue-summary { padding:13px 17px; background:#eae0ca; border-bottom:1px solid var(--line); font-weight:800; }
.submission-list { display:grid; }
.submission { padding:20px; border-bottom:1px solid #ddd0b6; }
.submission:last-child { border-bottom:0; }
.submission-head { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; }
.submission h2 { margin:4px 0 4px; font-size:25px; }
.meta { color:var(--soft); font-size:13px; }
.badge { display:inline-block; padding:5px 8px; color:#543d19; background:#ead9ae; font-size:12px; font-weight:850; text-transform:uppercase; letter-spacing:.06em; }
.badge.received { color:#214c37; background:#dbe9dc; }
.badge.rejected,.badge.withdrawn { color:#6d2630; background:#eed9dc; }
.badge.strong_candidate,.badge.accepted { color:#214c37; background:#dbe9dc; }
.badge.worth_investigating,.badge.queued,.badge.researching { color:#624817; background:#f0dfae; }
.badge.insufficient,.badge.irrelevant,.badge.suspicious,.badge.unreachable { color:#6d2630; background:#eed9dc; }
.badge.risk-quarantined { color:#624817; background:#f0dfae; }
.badge.risk-safe_to_review { color:#214c37; background:#dbe9dc; }
.badge.risk-suspicious,.badge.risk-unreachable { color:#6d2630; background:#eed9dc; }
.submission-body { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr); gap:22px; margin-top:16px; }
.payload { margin:0; padding:14px; background:#f0e9da; white-space:pre-wrap; overflow-wrap:anywhere; font:14px/1.5 var(--sans); }
.review { display:grid; gap:9px; align-content:start; }
.review textarea { min-height:90px; }
.promote-box { display:grid; gap:8px; margin-top:8px; padding-top:12px; border-top:2px solid var(--gold); }
.connection-note { margin-bottom:16px; padding:13px 16px; border:1px solid var(--line); border-left:5px solid var(--gold); background:#f8f1e2; }
.connection-note.connected { border-left-color:var(--green); background:#e2ecdf; }
.connection-note.not-connected { border-left-color:var(--gold); }
.lead-body { grid-template-columns:minmax(0,1.5fr) minmax(280px,.5fr); }
.risk-banner { display:grid; gap:9px; margin:17px 0; padding:14px; color:#3d321f; background:#f2e1b8; border-left:5px solid var(--gold); }
.risk-banner code { display:block; padding:10px; overflow-wrap:anywhere; color:#171716; background:#fffaf0; border:1px solid #d1bd8d; font:13px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace; }
.risk-banner small { color:#5d513b; }
.research-pending { margin-top:17px; padding:15px; border:1px dashed #a99772; color:var(--soft); background:#f5efe2; }
.research-pending p { margin-bottom:0; }
.research-result { margin-top:17px; padding:18px; background:#e9e2d3; border-top:4px solid var(--green); }
.research-verdict { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-bottom:12px; }
.research-verdict span:last-child { color:var(--soft); font-size:12px; }
.research-summary { font:18px/1.5 var(--serif); }
.research-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
.research-grid section { padding:13px; background:var(--cream); border:1px solid #d4c8ae; }
.research-grid h3,.source-list h3 { font-size:17px; }
.research-grid p,.research-grid ul { margin:0; }
.research-grid ul,.source-list ul { padding-left:20px; }
.source-list { margin-top:13px; padding:14px; background:var(--cream); border:1px solid #d4c8ae; }
.source-list li + li { margin-top:9px; }
.source-list .meta { display:block; margin-top:2px; }
.empty { padding:42px; text-align:center; color:var(--soft); }
.head-actions,.editor-actions { display:flex; flex-wrap:wrap; gap:9px; align-items:center; }
.directory-admin { width:min(1440px,calc(100% - 32px)); margin:28px auto 65px; }
.directory-tools { grid-template-columns:180px 180px minmax(220px,1fr) auto; }
.editor-layout { display:grid; grid-template-columns:minmax(290px,360px) minmax(0,1fr); gap:16px; align-items:start; }
.entry-browser,.editor-panel { min-height:660px; background:var(--cream); border:1px solid var(--line); box-shadow:0 14px 34px rgba(40,30,16,.08); }
.entry-browser { position:sticky; top:16px; max-height:calc(100vh - 32px); overflow:auto; }
.entry-list { display:grid; }
.entry-row { width:100%; min-height:0; padding:13px 14px; display:flex; align-items:flex-start; justify-content:space-between; gap:12px; border:0; border-bottom:1px solid #ddd0b6; color:var(--ink); background:transparent; text-align:left; }
.entry-row:hover,.entry-row.active { color:var(--ink); background:#efe4cf; }
.entry-row.active { box-shadow:inset 5px 0 var(--oxblood); }
.entry-row strong,.entry-row small { display:block; }
.entry-row small { margin-top:4px; color:var(--soft); font-size:12px; font-weight:600; }
.editor-panel { padding:clamp(18px,3vw,34px); }
.editor-empty { max-width:620px; margin:80px auto; text-align:center; color:var(--soft); }
.editor-title { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding-bottom:12px; margin-bottom:22px; border-bottom:3px solid var(--gold); }
.editor-title h2 { margin:4px 0 0; }
.check.compact { padding:10px 12px; }
.editor-actions { position:sticky; bottom:0; z-index:2; margin:24px -10px 0; padding:12px 10px; background:rgba(251,248,239,.96); border-top:1px solid var(--line); }
.history { margin-top:24px; padding-top:18px; border-top:3px solid var(--gold); }
.history-head,.history-row { display:flex; justify-content:space-between; align-items:center; gap:15px; }
.history-head h3 { margin:0; }
.history-row { padding:11px 0; border-bottom:1px solid #ded2bb; }
.history-row small { display:block; color:var(--soft); font-size:12px; }
footer { padding:24px; color:#ddd4c3; background:var(--ink); border-top:5px solid var(--oxblood); text-align:center; font-size:14px; }
footer a { color:#f2dfb3; }
@media (max-width:940px) { .editor-layout { grid-template-columns:1fr; } .entry-browser { position:static; max-height:420px; min-height:0; } }
@media (max-width:820px) { .hero-inner,.layout,.submission-body { grid-template-columns:1fr; } .side { grid-template-columns:1fr 1fr; } .queue-tools,.directory-tools { grid-template-columns:1fr 1fr; } }
@media (max-width:680px) { .research-grid { grid-template-columns:1fr; } }
@media (max-width:580px) { .mast-inner { display:block; padding:12px 0; } .mast-nav { margin-top:12px; } .grid,.side,.queue-tools { grid-template-columns:1fr; } .field.full { grid-column:auto; } .queue-head,.submission-head { display:block; } .submission-head .badge { margin-top:8px; } }
