.curation-page { max-width:1000px; margin:24px auto 72px; color:var(--ink-strong,#30291f); }
.curation-page *, .curation-topic-panel * { box-sizing:border-box; }
.curation-nav { display:flex; flex-wrap:wrap; gap:8px; padding:14px 0; border-bottom:1px solid var(--line-soft,#ded6c9); margin-bottom:24px; }
.curation-nav a, .curation-actions a, .curation-page button { display:inline-flex; justify-content:center; align-items:center; gap:6px; min-height:44px; padding:9px 15px; border:1px solid var(--line-strong,#cfc1ac); border-radius:9px; color:inherit; background:var(--paper-bg,#fffaf0); text-decoration:none; cursor:pointer; font:inherit; font-size:14px; }
.curation-nav .curation-nav-on, .curation-nav-admin.on { color:var(--vermilion,#b44432); border-color:currentColor; background:#faeee6; }
.curation-h1 { margin:0 0 10px; font-size:28px; letter-spacing:-.5px; }
.curation-hint, .curation-muted, .curation-time { color:var(--ink-muted,#817360); font-size:13px; line-height:1.6; }
.curation-note { background:#f6eedf; border-left:3px solid #b44432; padding:12px; line-height:1.6; }
.curation-form { display:grid; gap:14px; max-width:860px; }
.curation-kind-switch { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:4px; }
.curation-kind-opt { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:44px; padding:9px 18px; border:1px solid var(--line-strong,#cfc1ac); border-radius:9px; cursor:pointer; background:var(--paper-bg,#fffaf0); font-weight:600; font-size:14px; user-select:none; }
.curation-kind-opt:has(input:checked) { border-color:var(--vermilion,#b44432); color:var(--vermilion,#b44432); background:#faeee6; }
.curation-kind-opt input { accent-color:var(--vermilion,#b44432); width:16px; height:16px; margin:0; }
.curation-set { border:1px solid var(--line-strong,#cfc1ac); border-radius:12px; padding:18px; margin:4px 0 8px; display:grid; gap:13px; background:var(--paper-inset,#faf6ee); }
.curation-field { display:grid; gap:6px; font-size:14px; font-weight:600; min-width:0; }
.curation-field-err { display:inline-block; color:#a23d2d; font-size:12px; font-weight:400; margin-left:8px; }
.curation-help { font-size:12.5px; color:var(--ink-muted,#817360); margin:-4px 0 4px; line-height:1.5; }
.curation-field input, .curation-field textarea, .curation-field select, .curation-search { width:100%; min-height:44px; padding:10px 12px; border:1px solid var(--line-strong,#cfc1ac); border-radius:8px; background:var(--paper-bg,#fffcf7); color:inherit; font:inherit; font-weight:400; }
.curation-field textarea { resize:vertical; line-height:1.6; }
.curation-field textarea[data-act=prompt] { min-height:12em; }
.curation-field textarea[data-act=definition] { min-height:9em; }
.curation-field textarea[data-act=notes], .curation-field textarea[data-act=ftext] { min-height:6em; }
.curation-field textarea[data-act=description] { min-height:4em; }
.curation-field input[aria-invalid="true"], .curation-field textarea[aria-invalid="true"] { border-color:#a23d2d !important; outline-color:#a23d2d !important; }
.curation-field input[type=file] { font-size:13px; }
.curation-dropzone { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:124px; padding:16px 14px; border:2px dashed var(--line-strong,#cfc1ac); border-radius:12px; background:var(--paper-bg,#fffcf7); text-align:center; transition:border-color .18s ease, background-color .18s ease, box-shadow .18s ease; cursor:pointer; user-select:none; overflow:hidden; }
.curation-dropzone:hover { border-color:var(--vermilion,#b44432); background:#fbf5ee; }
.curation-dropzone.curation-dropzone-active, .curation-dropzone:focus-within { border-color:var(--vermilion,#b44432); border-style:dashed; background:#faeee6; box-shadow:0 0 0 2px rgba(180,68,50,.16); }
.curation-dropzone:focus-visible { outline:2px solid var(--vermilion,#b44432); outline-offset:2px; }
.curation-dropzone.curation-dropzone-dragover { border-color:var(--vermilion,#b44432); border-style:solid; background:#f6e4d7; box-shadow:0 0 0 3px rgba(180,68,50,.24); }
.curation-file-input, .curation-field input[type=file].curation-file-input { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; opacity:0; pointer-events:none; }
.curation-dropzone-body { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; gap:5px; max-width:100%; }
.curation-dropzone-icon { display:inline-flex; align-items:center; justify-content:center; color:var(--ink-muted,#817360); transition:color .15s ease; pointer-events:none; }
.curation-dropzone:hover .curation-dropzone-icon, .curation-dropzone.curation-dropzone-active .curation-dropzone-icon { color:var(--vermilion,#b44432); }
.curation-dropzone-btn { display:inline-flex; align-items:center; justify-content:center; min-height:34px; padding:5px 16px; font-size:13.5px; font-family:inherit; font-weight:600; color:var(--ink-strong,#30291f); background:#fff; border:1px solid var(--line-strong,#cfc1ac); border-radius:8px; box-shadow:0 1px 2px rgba(0,0,0,.04); cursor:pointer; transition:all .15s ease; }
.curation-dropzone-btn:hover { border-color:var(--vermilion,#b44432); color:var(--vermilion,#b44432); }
.curation-dropzone-btn:focus-visible { outline:2px solid var(--vermilion,#b44432); outline-offset:2px; border-color:var(--vermilion,#b44432); color:var(--vermilion,#b44432); }
.curation-dropzone-desc { margin:2px 0 0; font-size:12.5px; font-weight:400; color:var(--ink-muted,#817360); line-height:1.5; pointer-events:none; }
.curation-dropzone-desc-mob { display:none; }
.curation-dropzone-target { margin-top:3px; font-size:12.5px; font-weight:600; color:var(--vermilion,#b44432); line-height:1.4; display:flex; align-items:center; gap:4px; flex-wrap:wrap; justify-content:center; pointer-events:none; }
.curation-dropzone-target[hidden] { display:none; }
.curation-dropzone-shortcut { font-weight:400; color:var(--ink-muted,#817360); }
.curation-item { border:1px solid var(--line-strong,#cfc1ac); border-radius:12px; padding:18px; margin:8px 0 18px; display:grid; gap:13px; }
.curation-cover { display:grid; gap:10px; }
.curation-cover .curation-thumb, .curation-cover img { width:160px; height:160px; aspect-ratio:1; object-fit:cover; border-radius:8px; }
.curation-examples { display:grid; gap:10px; }
.curation-imgs, .curation-card-media, .curation-review-media, .curation-topic-media { display:flex; gap:10px; flex-wrap:wrap; }
.curation-thumb-wrap { position:relative; margin:0; }
.curation-thumb { display:block; width:144px; height:156px; object-fit:cover; border-radius:8px; background:#e9e0d2; }
.curation-thumb-ph { width:80px; height:80px; background:#e9e0d2; border-radius:8px; }
.curation-page .curation-x { position:absolute; top:4px; right:4px; min-width:44px; padding:0; background:#fffcf3e8; }
.curation-pick { display:grid; gap:10px; }
.curation-pick-row, .curation-actions { display:flex; align-items:center; flex-wrap:wrap; gap:9px; }
.curation-chips, .curation-chip { display:inline-flex; gap:7px; align-items:center; flex-wrap:wrap; font-size:13px; }
.curation-chip .curation-thumb { width:52px; height:60px; }
.curation-card, .curation-review, .curation-admin-sec, .curation-topic-panel { border:1px solid var(--line-soft,#ded6c9); padding:20px; border-radius:12px; margin-bottom:18px; background:var(--paper-bg,#fffbf4); }
.curation-card-body { padding-top:12px; }
.curation-card-title { margin:10px 0; font-size:20px; }
.curation-card-desc, .curation-def { line-height:1.7; white-space:pre-wrap; overflow-wrap:anywhere; }
.curation-page .curation-submit, .curation-page .curation-approve { background:var(--vermilion,#b44432); color:#fff; border-color:var(--vermilion,#b44432); font-weight:700; }
.curation-page button:disabled { opacity:.5; cursor:wait; }
.curation-page button:focus-visible, .curation-page a:focus-visible, .curation-page input:focus-visible, .curation-page textarea:focus-visible { outline:2px solid var(--vermilion,#b44432); outline-offset:3px; }
.curation-empty { padding:20px 0; color:var(--ink-muted,#817360); }
.curation-err { color:#a23d2d; min-height:1.2em; line-height:1.5; }
.curation-status, .curation-kind, .curation-rev { display:inline-block; font-size:12px; padding:4px 8px; background:#eee5d7; border-radius:6px; }
.curation-status.st-approved { background:#e4eddf; color:#3d6538; }
.curation-status.st-changes_requested, .curation-status.st-withdrawn { background:#f4e3d8; color:#983e2c; }
.curation-details { margin-top:14px; padding:14px; border-top:1px solid var(--line-soft,#ded6c9); }
.curation-details[hidden] { display:none; }
.curation-votes, .curation-access-list, .curation-pending-list, .curation-events { margin:12px 0; padding-left:20px; line-height:1.8; font-size:14px; overflow-wrap:anywhere; }
.curation-userlist { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; max-height:250px; overflow:auto; padding:12px 0; }
.curation-user { display:flex; align-items:center; gap:8px; min-height:44px; font-size:14px; overflow-wrap:anywhere; }
.curation-user input, .curation-kinds input { width:18px; height:18px; accent-color:#b44432; }
.curation-kinds { display:flex; flex-wrap:wrap; gap:16px; margin:10px 0; }
.curation-kinds label { min-height:44px; display:flex; align-items:center; gap:6px; }
.curation-appeal { padding:14px 0; list-style:none; border-bottom:1px solid var(--line-soft,#ded6c9); }
.curation-appeal .curation-actions { margin-top:12px; }
.curation-topic-panel { margin-top:16px; }
.curation-topic-card + .curation-topic-card { border-top:1px solid var(--line-soft,#ded6c9); padding-top:18px; margin-top:18px; }
.curation-rd { color:var(--ink-muted,#817360); font-size:13px; }
@media(max-width:640px) {
  .curation-page { margin-top:8px; }
  .curation-h1 { font-size:24px; }
  .curation-nav { gap:6px; margin-bottom:18px; }
  .curation-nav a { padding:8px 10px; }
  .curation-card, .curation-review, .curation-admin-sec, .curation-topic-panel, .curation-item, .curation-set { padding:13px; }
  .curation-thumb { width:116px; height:134px; }
  .curation-cover .curation-thumb, .curation-cover img { width:120px; height:120px; }
  .curation-dropzone { min-height:98px; padding:12px 10px; }
  .curation-dropzone-desc-desk { display:none !important; }
  .curation-dropzone-desc-mob { display:inline !important; }
  .curation-dropzone-target { display:none !important; }
  .curation-userlist { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .curation-user small { display:none; }
  .curation-page .curation-submit { width:100%; }
}
@media(max-width:600px) {
  .curation-field textarea[data-act=prompt] { min-height:9em; }
  .curation-set, .curation-item { padding:13px; }
  .curation-page { overflow-x:hidden; }
}
@media(prefers-reduced-motion:reduce) {
  .curation-dropzone, .curation-dropzone-btn, .curation-dropzone-icon { transition:none !important; }
}
