:root{--brand:#24093a;--gold:#c6a46a;--violet:#7b4592;--bg:#fbf8fd;--line:#e9dff1}html,body,#app{height:100%;margin:0}body{background:var(--bg);color:#2a1f33;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}.page{max-width:1280px;margin:0 auto;padding:20px 24px 96px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}.page-head h1{color:var(--brand);margin:0;font-family:Playfair Display,serif;font-size:26px;font-weight:600}.page-head p{color:#6b5c78;margin:4px 0 0;font-size:13px}.muted{color:#7a6c86;font-size:13px}.em{color:var(--violet);font-style:italic}em{color:var(--violet)}.sticky-bar{z-index:5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--line);background:#fbf8fdeb;justify-content:flex-end;align-items:center;gap:10px;margin:24px -24px -96px;padding:12px 24px;display:flex;position:sticky;bottom:0}.card-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.stat{border:1px solid var(--line);background:#fff;border-radius:14px;padding:16px 18px}.stat b{color:var(--brand);font-size:28px;font-weight:600;display:block}.stat span{color:#7a6c86;font-size:13px}.drag-handle{cursor:grab;color:#b3a4c0;-webkit-user-select:none;user-select:none;padding:0 6px}.drag-handle:active{cursor:grabbing}.ghost{opacity:.4}.thumb{object-fit:cover;border:1px solid var(--line);background:#f2ecf7;border-radius:8px;width:72px;height:54px}.thumb-lg{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line);background:#f2ecf7;border-radius:10px;width:100%;display:block}.media-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;display:grid}.media-card{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;transition:box-shadow .15s,transform .15s;overflow:hidden}.media-card:hover{transform:translateY(-1px);box-shadow:0 6px 18px #24093a1f}.media-card.selected{outline:2px solid var(--violet)}.media-card img{aspect-ratio:4/3;object-fit:cover;background:#f2ecf7;width:100%;display:block}.media-card .meta{color:#6b5c78;white-space:nowrap;text-overflow:ellipsis;padding:8px 10px;font-size:12px;overflow:hidden}.dropzone{text-align:center;color:#7a6c86;background:#fff;border:2px dashed #d7c7e6;border-radius:14px;padding:28px;transition:all .15s}.dropzone.over{border-color:var(--violet);background:#f6effb}.icon-svg{vertical-align:-4px;width:18px;height:18px}.json-view{border:1px solid var(--line);white-space:pre-wrap;background:#fff;border-radius:10px;max-height:60vh;padding:12px;font-family:ui-monospace,Consolas,monospace;font-size:12px;overflow:auto}.diff-del{background:#fde8e8}.diff-add{background:#e6f6ea}.sf-group{border:1px solid var(--line);background:#fff;border-radius:14px;margin-bottom:14px;padding:18px 20px}.sf-group>h3{color:var(--brand);margin:0 0 12px;font-size:15px;font-weight:600}.sf-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px 16px;display:grid}.sf-grid .span-2{grid-column:1/-1}.sf-field label{color:#4a3b58;margin-bottom:4px;font-size:12.5px;font-weight:500;display:block}.sf-hint{color:#9a8ca6;margin-top:3px;font-size:11.5px}.sf-error{color:#c0392b;margin-top:3px;font-size:12px}.sf-item{border:1px solid var(--line);background:#fcfaff;border-radius:10px;margin-bottom:8px;padding:10px 12px}.sf-item-head{align-items:center;gap:8px;margin-bottom:8px;display:flex}.sf-item-head .t{color:#4a3b58;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;font-weight:500;overflow:hidden}.sf-row{align-items:center;gap:8px;margin-bottom:6px;display:flex}.sf-row>.grow{flex:1}@media (max-width:900px){.page{padding:14px 14px 96px}.sticky-bar{margin:20px -14px -96px;padding:10px 14px}}
