body.poster-public { background:#fff; color:#000; }
.poster-public main { max-width:920px; }
.poster-public :is(h1,h2,h3,label,button,input,textarea) { font-family:inherit; }
.poster-public h3 { font-size:1em; margin:0 0 10px; }
.poster-public .public-poster-nav { margin:0 0 18px; }
.poster-public .upload-options { display:grid; gap:18px; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); margin-top:14px; }
.poster-public .upload-options > div { min-width:0; }
.poster-public :is(.drop-zone,.paste-area) { display:flex; align-items:center; justify-content:center; min-height:150px; padding:12px; border:1px dashed #777; background:#fff; text-align:center; box-sizing:border-box; }
.poster-public :is(.drop-zone,.paste-area).active { border:2px solid #0000ee; background:#f3f3f3; }
.poster-public input[type="file"] { max-width:100%; margin-top:10px; }
.poster-public textarea { min-height:110px; }
.poster-public .hp { position:absolute; left:-10000px; }
.poster-public .optional-label { color:#555; font-size:1em; font-weight:normal; }
.poster-public .pending-gallery { display:grid; gap:12px; grid-template-columns:repeat(auto-fill,minmax(min(100%,120px),1fr)); margin:14px 0; }
.poster-public .pending-file { border:1px solid #aaa; padding:6px; text-align:center; overflow-wrap:anywhere; min-width:0; }
.poster-public .pending-file img { display:block; height:150px; max-width:100%; object-fit:contain; margin:0 auto 6px; }
.poster-public .pending-file button { margin-top:6px; font-size:13px; }
.poster-public .status-line { color:#555; margin:10px 0; }
.poster-public .status-line.error-text { color:#900; }
.poster-public .links { margin-top:16px; }
.poster-public .submission { border-top:1px dashed #777; padding:16px 0; margin:18px 0; }
.poster-public .submission.highlight { border-left:3px solid #166534; padding-left:12px; }
.poster-public .meta { color:#555; margin-top:0; }
.poster-public .grid { display:grid; gap:10px; grid-template-columns:repeat(auto-fill,minmax(min(100%,120px),1fr)); }
.poster-public .grid a { display:block; padding:6px; border:1px solid #aaa; text-align:center; min-width:0; }
.poster-public .grid img { height:160px; max-width:100%; object-fit:contain; }
.poster-public :focus-visible { outline:2px solid #0000ee; outline-offset:3px; }
