.publication-dialog { width:min(560px,calc(100vw - 32px)); max-height:90vh; box-sizing:border-box; margin:auto; padding:24px; border:1px solid #e5def5; border-radius:20px; color:#302844; background:#fff; font:14px/1.5 Inter,sans-serif; box-shadow:0 24px 80px #22113b30; }
.publication-dialog::backdrop { background:#20133280; }
.publication-dialog [hidden] { display:none !important; }
.publication-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.publication-heading h2 { margin:0; font-size:21px; }
.publication-heading button { font-size:24px; }
.publication-form p { margin:12px 0; }
.publication-form label:not(.publication-check) { display:grid; gap:5px; margin:12px 0; font-weight:600; }
.publication-form input:not([type=checkbox]),.publication-form textarea,.publication-form select { box-sizing:border-box; width:100%; padding:10px; border:1px solid #d8d0e6; border-radius:8px; background:#fff; color:inherit; font:inherit; }
.publication-form fieldset { border:1px solid #d8d0e6; border-radius:8px; padding:10px; }
.publication-check { display:inline-flex; align-items:center; gap:6px; margin:5px 12px 5px 0; }
.publication-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.publication-cover { width:150px; aspect-ratio:16/10; object-fit:cover; border-radius:10px; }
.publication-actions { display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-end; margin-top:20px; }
.publication-form button { cursor:pointer; border:1px solid #d8d0e6; border-radius:8px; padding:9px 12px; background:#fff; color:inherit; font:inherit; }
.publication-form [data-submit] { background:#6d38da; border-color:#6d38da; color:#fff; }
.publication-form button:disabled { opacity:.55; cursor:wait; }
.publication-form [data-error] { color:#9c2441; }
.publication-form [data-open] { display:block; margin-top:15px; color:#6d38da; }
@media(max-width:520px) { .publication-row { grid-template-columns:1fr; gap:0; } .publication-dialog { padding:18px; } }
.publication-dialog { width:min(640px,calc(100vw - 32px)); }
.publication-artwork { margin-top:24px; }
.publication-artwork h3 { margin-bottom:4px; }
.publication-prompt { padding:16px; background:#f6f2ff; border-radius:14px; }
.publication-prompt-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; margin-bottom:10px; }
.publication-prompt textarea { font-size:13px; line-height:1.6; resize:vertical; }
.publication-prompt [role=status] { color:#6330b5; font-size:12px; }
.publication-drop { margin-top:14px; padding:20px; text-align:center; border:2px dashed #d5c4ef; border-radius:16px; background:#fdfbff; }
.publication-drop.is-dragging { background:#eee4ff; border-color:#6d38da; }
.publication-drop small { display:block; margin-top:10px; color:#81758f; }
.publication-drop .publication-cover { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; }
.publication-success { text-align:center; padding:20px 8px 8px; animation:publication-arrive .45s ease-out; }
.publication-success-symbol { display:grid; place-items:center; width:88px; height:88px; margin:0 auto 20px; color:#fff; font-size:52px; border-radius:28px; background:linear-gradient(135deg,#ab7cf3,#6835ce); box-shadow:0 12px 40px #8851df40; transform:rotate(-8deg); }
.publication-form .publication-eyebrow { font-size:10px; letter-spacing:1.6px; font-weight:700; color:#8b64bc; }
.publication-success h2 { font-size:30px; line-height:1.2; margin:14px auto; max-width:420px; }
.publication-success > p:not(.publication-eyebrow) { color:#7c708c; max-width:430px; margin:12px auto 24px; }
.publication-success-card { max-width:340px; margin:24px auto; text-align:left; border:1px solid #ede5f7; border-radius:18px; overflow:hidden; box-shadow:0 12px 32px #42236810; }
.publication-success-card img { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; }
.publication-success-card > div { padding:16px 20px; }
.publication-success-card h3 { margin:0; font-size:19px; }
.publication-success-card p { color:#8b7d9b; margin-bottom:0; }
.publication-primary { display:block; padding:13px 20px; margin:12px auto; max-width:300px; border-radius:12px; background:#6d38da; color:white; text-decoration:none; font-weight:600; }
.publication-form [data-return] { border:0; color:#7b6a90; }
@keyframes publication-arrive { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
@media(prefers-reduced-motion:reduce) { .publication-success { animation:none; } }
@media(min-width:521px) and (max-height:850px) {
  .publication-success { padding-top:4px; }
  .publication-success-symbol { width:54px; height:54px; font-size:34px; border-radius:18px; margin-bottom:10px; }
  .publication-success h2 { font-size:25px; margin:10px auto; }
  .publication-success > p:not(.publication-eyebrow) { margin:8px auto 12px; }
  .publication-success-card { max-width:250px; margin:12px auto; }
  .publication-success-card > div { padding:10px 14px; }
  .publication-success-card h3 { font-size:16px; }
  .publication-success-card p { margin-top:4px; }
}
