.submit-backdrop { position:fixed; inset:0; z-index:50; display:flex; align-items:center; justify-content:center; padding:24px; background:#091a3b80; backdrop-filter:blur(7px); }
.submit-card { width:100%; max-width:600px; max-height:calc(100dvh - 48px); overflow-y:auto; overscroll-behavior:contain; border:1px solid var(--line); border-radius:24px; padding:36px; background:var(--header); color:var(--ink); box-shadow:0 24px 90px #07173826; }
.submit-card-dark { color-scheme:dark; }
.submit-header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:30px; }
.submit-header h2 { margin:0; font-size:34px; font-weight:550; line-height:1.15; letter-spacing:-1px; }
.submit-header p { margin:10px 0 0; font-size:13px; line-height:1.6; color:var(--muted); }
.submit-close { margin:-10px -12px 0 0; flex-shrink:0; color:var(--muted); }
.submit-fields { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:22px 16px; }
.submit-field { min-width:0; }
.submit-field-wide { grid-column:1/-1; }
.submit-field label { display:block; margin-bottom:9px; font-size:12px; font-weight:650; }
.submit-form input,.submit-form select,.submit-form textarea { width:100%; min-width:0; min-height:48px; border:1px solid var(--line); border-radius:10px; padding:12px 14px; background:var(--surface); color:var(--ink); font-size:14px; line-height:1.5; }
.submit-form input::placeholder,.submit-form textarea::placeholder { color:var(--muted); opacity:.8; }
.submit-form textarea { display:block; resize:vertical; min-height:104px; }
.submit-form :is(input,select,textarea):focus-visible { outline:2px solid var(--action-focus); outline-offset:2px; }
.submit-actions { display:flex; align-items:center; justify-content:flex-end; gap:20px; padding-top:22px; margin-top:26px; border-top:1px solid var(--line); }
.submit-actions .button { min-height:48px; border-radius:11px; font-size:13px; padding-inline:24px; }
.submit-cancel { min-height:44px; border:0; background:transparent; color:var(--muted); font-size:13px; padding:10px; }
.submit-cancel:hover { color:var(--ink); }
.submit-form button:disabled { opacity:.5; }
.submit-error { margin:0 0 20px; color:#a42636; background:#fff0f1; border-radius:10px; padding:12px; font-size:13px; line-height:1.6; }
.submit-card-dark .submit-error { color:#ffc3ca; background:#46283a; }
@media(max-width:600px) {
  .submit-backdrop { padding:12px; }
  .submit-card { padding:26px 22px; border-radius:20px; max-height:calc(100dvh - 24px); }
  .submit-header { margin-bottom:24px; }
  .submit-header h2 { font-size:30px; }
  .submit-header p { max-width:230px; }
  .submit-fields { grid-template-columns:1fr; gap:18px; }
  .submit-form input,.submit-form textarea,.submit-form select { font-size:16px; }
  .submit-actions { justify-content:space-between; gap:12px; padding-top:18px; }
  .submit-actions .button { flex:1; }
}

/* Keep overflow usable on short screens without the default scrollbar rail. */
.submit-card,.submit-form textarea { scrollbar-width:thin; scrollbar-color:var(--action-border) transparent; }
.submit-card::-webkit-scrollbar,.submit-form textarea::-webkit-scrollbar { width:5px; height:5px; }
.submit-card::-webkit-scrollbar-track,.submit-form textarea::-webkit-scrollbar-track { background:transparent; margin-block:20px; }
.submit-card::-webkit-scrollbar-thumb,.submit-form textarea::-webkit-scrollbar-thumb { background:var(--action-border); border-radius:999px; }
.submit-card::-webkit-scrollbar-button,.submit-form textarea::-webkit-scrollbar-button { display:none; }

.submit-tags { margin:0; padding:0; border:0; min-width:0; }
.submit-tags legend { margin-bottom:9px; font-size:12px; font-weight:650; }
.submit-tag-limit { margin-left:6px; color:var(--muted); font-size:11px; font-weight:400; }
.submit-tag-options { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:12px; }
.submit-tag-options button,.submit-custom-tag button { min-height:44px; padding:8px 12px; font-size:12px; border:1px solid var(--line); border-radius:9px; background:transparent; color:var(--muted); }
.submit-tag-options button[aria-pressed=true] { background:var(--action-soft); color:var(--action-soft-text); border-color:var(--action-border); }
.submit-custom-tag { display:flex; gap:8px; }
.submit-custom-tag button { flex-shrink:0; }

.category-select { position:relative; }
.category-select-trigger { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-height:48px; padding:12px 14px; border:1px solid var(--line); border-radius:10px; background:var(--surface); color:var(--ink); font-size:14px; line-height:1.5; text-align:left; }
.category-select-trigger svg { flex-shrink:0; color:var(--muted); transition:transform .15s; }
.category-select-trigger[aria-expanded=true] { border-color:var(--action-focus); }
.category-select-trigger[aria-expanded=true] svg { transform:rotate(180deg); }
.category-select-menu { position:absolute; top:calc(100% + 7px); right:0; z-index:5; width:max(100%,248px); max-width:calc(100vw - 72px); max-height:264px; overflow-y:auto; overscroll-behavior:contain; padding:6px; border:1px solid var(--line); border-radius:14px; background:var(--surface); box-shadow:0 12px 32px #07173820; scrollbar-width:thin; scrollbar-color:var(--action-border) transparent; }
.category-select-option { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-height:44px; padding:10px 12px; border:0; border-radius:8px; background:transparent; color:var(--ink); text-align:left; font-size:13px; }
.category-select-option svg { flex-shrink:0; }
.category-select-option.is-highlighted { background:var(--action-soft); color:var(--action-soft-text); }
.category-select-option[aria-selected=true] { color:var(--action-selected-text); background:var(--action-selected); font-weight:650; }
.category-select-menu::-webkit-scrollbar { width:5px; }
.category-select-menu::-webkit-scrollbar-thumb { background:var(--action-border); border-radius:999px; }
.category-select-menu::-webkit-scrollbar-button { display:none; }
@media(max-width:600px) {
  .category-select-trigger { font-size:16px; }
  .category-select-menu { width:100%; }
}
@media(prefers-reduced-motion:reduce) { .category-select-trigger svg { transition:none; } }

.avatar-label { display:block; margin-bottom:9px; font-size:12px; font-weight:650; }
.avatar-upload-row { display:flex; align-items:center; gap:12px; }
.avatar-upload-preview,.avatar-upload-placeholder { flex-shrink:0; display:grid; place-items:center; width:60px; height:60px; border-radius:50%; object-fit:cover; border:1px solid var(--line); background:var(--action-soft); color:var(--action-soft-text); font-size:15px; font-weight:650; }
.avatar-upload-actions { display:flex; flex-direction:column; align-items:flex-start; }
.avatar-upload-button,.avatar-remove { min-height:44px; border:0; border-radius:8px; padding:8px; background:transparent; color:var(--action-link); font-size:12px; text-align:left; }
.avatar-upload-button { border:1px solid var(--line); padding:8px 12px; background:var(--surface); font-weight:600; }
.avatar-upload-button:hover { background:var(--action-soft); }
.avatar-remove { color:var(--muted); }
.avatar-upload-hint { color:var(--muted); font-size:10px; line-height:1.6; margin:9px 0 0; }
.avatar-upload-error { margin:8px 0 0; }
