/* Atlas data room — feed post + file row components (docs/dataroom-v2/SPEC-v3.md §2, §7).
   Linked by /room and /room/admin: the admin's post preview renders the same markup (/room/feed-view.f51f4b90.js) with these
   same rules, so what David previews is what investors see. Tokens come from the host page (room.css / admin.css). */
.file{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:12px;text-align:left;border:0;background:none;padding:10px 8px;border-radius:9px;cursor:pointer;width:100%;color:var(--fg)}
.file:hover:not(:disabled){background:var(--sunk)}
.file:disabled{opacity:.45;cursor:not-allowed}
.ft{width:30px;height:36px;border:1px solid var(--line);border-radius:4px;display:grid;place-items:end center;font:600 8px/1 var(--mono);color:var(--gold-ink);padding-bottom:4px;background:var(--surface);flex:none}
.file > span{min-width:0}
.file > span b{display:flex;gap:8px;align-items:center;font-size:13.5px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.file > span b > span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.file > span small{color:var(--muted);font-size:12px;display:block}
.file em{font:500 11px/1 var(--mono);color:var(--gold-ink);font-style:normal;white-space:nowrap}
.file.bd{border:1px solid var(--line);background:var(--surface)}
.new{font:500 9.5px/1 var(--mono);letter-spacing:.12em;color:var(--gold-ink);text-transform:uppercase;border:1px solid color-mix(in srgb,var(--gold) 50%,transparent);border-radius:999px;padding:3px 6px;font-style:normal;flex:none}
.post{padding:20px 18px;display:grid;gap:12px;border-bottom:1px solid var(--line)}
.post:last-child{border-bottom:0}
.by{display:flex;align-items:center;gap:10px;font-size:13px}
.by span{color:var(--muted);font-size:12px}
.by .new{margin-left:auto}
.post h3{margin:0;font:600 16px/1.3 var(--sans)}
.post p{margin:0;color:var(--muted);font-size:13.5px;white-space:pre-wrap;overflow-wrap:anywhere}
.media{position:relative;aspect-ratio:16/9;max-width:100%;border-radius:12px;overflow:hidden;background:var(--sunk);border:1px solid var(--line)}
.media.auto{aspect-ratio:auto}
.media iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.media .vvideo{position:absolute;inset:0;border-radius:0}
.media .vvideo video{width:100%;height:100%;max-height:none;object-fit:contain;background:#000}
.media .vpage{min-height:0;border:0;border-radius:0;width:100%}
.mcap{font:500 10.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:-4px 0 0}
.blur{position:absolute;inset:-24px;filter:blur(20px) saturate(.9);background:radial-gradient(40% 50% at 30% 60%,#6d7a55,transparent 70%),radial-gradient(35% 45% at 70% 35%,#c9b48a,transparent 70%),radial-gradient(50% 60% at 60% 80%,#3f4a3a,transparent 70%),linear-gradient(180deg,#9fb3c4,#d9cfb8);background-size:cover;background-position:center}
.lockover{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:8px;text-align:center;padding:16px;background:rgba(0,0,0,.24);color:#fff}
.lockover svg{width:26px;height:26px}
.lockover b{font-size:14.5px}
.lockover small{font-size:12.5px;opacity:.92;max-width:34ch}
.lockover .btn{margin-top:4px}
.play{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(135deg,#2f3a2c,#6f6a52);border:0;cursor:pointer;padding:0;background-size:cover;background-position:center;color:#fff}
.play span{width:58px;height:58px;border-radius:50%;background:rgba(255,255,255,.92);display:grid;place-items:center}
.play svg{width:20px;height:20px;margin-left:3px}
.play em{position:absolute;left:12px;bottom:10px;font:500 10.5px/1 var(--mono);letter-spacing:.12em;color:rgba(255,255,255,.8);font-style:normal;text-transform:uppercase}
.msgnote{margin:14px 14px 0;padding:12px 14px;border-radius:12px;background:var(--gold-soft);border:1px solid color-mix(in srgb,var(--gold) 45%,transparent);display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;text-align:left;cursor:pointer;width:calc(100% - 28px);color:var(--fg)}
.msgnote b{display:block;font-size:13.5px}
.msgnote p{margin:2px 0 0;font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.msgnote em{font:600 12.5px/1 var(--sans);color:var(--gold-ink);font-style:normal}
/* image media in the admin preview (the room mounts images through the viewer instead) */
.media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.media.auto img{position:static;width:100%;height:auto}
.pm .vstate{display:grid;gap:10px;padding:48px 16px;text-align:center;color:var(--muted);font-size:14px}
.pm .vstate .spin{width:22px;height:22px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--gold);margin:0 auto;animation:feedspin 1s linear infinite}
@keyframes feedspin{to{transform:rotate(360deg)}}

/* F1 mobile pass: the author avatar button keeps its 30px look with a 44px hit area */
@media (max-width:600px){
  .post .by .avbtn,.by .avbtn{padding:7px;margin:-7px;box-sizing:content-box}
}