.rose-index-v1 .rose-preview-placeholder {
  display: flex;
  min-height: 600px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 36px 24px;
  text-align: center;
  color: #817b90;
}
.rose-index-v1 .rose-preview-placeholder__mark { width: 64px; height: 64px; margin-bottom: 32px; }
.rose-index-v1 .rose-preview-placeholder h2 {
  margin: 0 0 14px;
  color: #21192a;
  font-family: "Songti SC", "Noto Serif SC", serif;
  font-size: 28px;
  line-height: 1.35;
}
.rose-index-v1 .rose-preview-placeholder p { max-width: 250px; margin: 0; font-size: 14px; line-height: 1.7; }
.rose-index-v1 .rose-preview-placeholder[hidden] { display: none; }
@media (max-width: 1100px) { .rose-index-v1 .rose-preview-placeholder { display: none; } }

.rose-index-v1 .rose-preview-placeholder {border:1px solid var(--rose-line);border-radius:7px;background:#fffbfc;}
.rose-index-v1 .rose-preview-content,.rose-index-v1 .rose-preview-error {padding:0 18px 20px;color:var(--rose-ink);}
.rose-index-v1 .rose-preview-topline {display:flex;align-items:center;justify-content:space-between;min-height:50px;border-bottom:1px solid var(--rose-line);font-size:14px;}
.rose-index-v1 .rose-preview-topline button {border:0;background:transparent;font-size:25px;color:var(--rose-body);width:44px;height:44px;cursor:pointer;}
.rose-index-v1 .rose-preview-portrait {position:relative;margin:12px 0;border-radius:7px;overflow:hidden;aspect-ratio:1.48;background:#f0e5eb;display:grid;place-items:center;}
.rose-index-v1 .rose-preview-portrait img {width:100%;height:100%;object-fit:cover;}
.rose-index-v1 .rose-preview-safe {position:absolute;bottom:16px;left:50%;transform:translateX(-50%);white-space:nowrap;padding:6px 12px;border-radius:30px;background:#ffffffe6;color:var(--rose-accent);font-size:14px;}
.rose-index-v1 .rose-preview-title {display:flex;align-items:center;justify-content:space-between;gap:8px;}
.rose-index-v1 .rose-preview-title h2 {font-size:24px;line-height:1.35;margin:0;overflow-wrap:anywhere;}
.rose-index-v1 .rose-preview-title .rose-status {font-size:14px;flex-shrink:0;}
.rose-index-v1 .rose-preview-note {font-size:14px;line-height:1.6;color:var(--rose-meta);margin:10px 0;}
.rose-index-v1 .rose-preview-facts {margin:12px 0;font-size:14px;}
.rose-index-v1 .rose-preview-facts div {display:flex;gap:12px;margin:9px 0;}
.rose-index-v1 .rose-preview-facts dt {width:78px;flex-shrink:0;color:var(--rose-meta);}
.rose-index-v1 .rose-preview-facts dd {margin:0;overflow-wrap:anywhere;}
.rose-index-v1 .rose-preview-section {border-top:1px solid var(--rose-line);padding:10px 0;}
.rose-index-v1 .rose-preview-section h3,.rose-index-v1 .rose-preview-access h3,.rose-index-v1 .rose-preview-target h3,.rose-index-v1 .rose-preview-unavailable h3 {font-family:var(--rose-body-font);font-weight:500;font-size:16px;margin:0 0 10px;}
.rose-index-v1 .rose-preview-section p,.rose-index-v1 .rose-preview-access p,.rose-index-v1 .rose-preview-target p,.rose-index-v1 .rose-preview-unavailable p {font-size:14px;line-height:1.5;color:var(--rose-body);margin:8px 0;overflow-wrap:anywhere;}
.rose-index-v1 .rose-preview-section small {font-size:14px;color:var(--rose-meta);}
.rose-index-v1 .rose-preview-skills {display:flex;flex-wrap:wrap;gap:7px;}
.rose-index-v1 .rose-preview-skills span {padding:4px 8px;background:#f7edf0;border:1px solid var(--rose-line);border-radius:4px;font-size:14px;}
.rose-index-v1 .rose-preview-access,.rose-index-v1 .rose-preview-target,.rose-index-v1 .rose-preview-unavailable {margin:10px 0;padding:12px 10px;border:1px solid var(--rose-line);border-radius:6px;background:#fff;}
.rose-index-v1 .rose-preview-primary,.rose-index-v1 .rose-preview-secondary {display:block;width:100%;padding:10px 8px;box-sizing:border-box;border:1px solid var(--rose-accent);border-radius:5px;text-align:center;text-decoration:none;font-size:14px;min-height:44px;cursor:pointer;}
.rose-index-v1 .rose-preview-primary {background:var(--rose-accent);color:white;}
.rose-index-v1 .rose-preview-secondary {color:var(--rose-accent);background:transparent;margin-top:8px;}
.rose-index-v1 .rose-preview-unavailable button {width:100%;border:0;border-radius:5px;padding:10px;color:#fff;background:#c4b8bd;font-size:14px;}
.rose-index-v1 .rose-preview-error-body {padding:24px 4px 20px;text-align:center;}
.rose-index-v1 .rose-error-mark {display:block;width:70px;height:74px;fill:none;stroke:#d77c20;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin:0 auto 14px;}
.rose-index-v1 .rose-preview-error-body h2 {font-size:22px;font-weight:650;}
.rose-index-v1 .rose-preview-error-body p {font-size:14px;line-height:1.8;color:var(--rose-meta);margin-bottom:18px;}

/* The failed request retains its own public identity and explicit close action. */
.rose-index-v1 .rose-preview-topline {position:sticky;top:0;z-index:2;background:#fffbfc;}
.rose-index-v1 .rose-preview-error-identity {display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--rose-line);}
.rose-index-v1 .rose-preview-error-thumb {flex:none;width:58px;height:58px;display:grid;place-items:center;overflow:hidden;border-radius:6px;background:#f0e5eb;}
.rose-index-v1 .rose-preview-error-thumb img {display:block;width:100%;height:100%;object-fit:cover;}
.rose-index-v1 .rose-preview-error-thumb .rose-preview-missing {padding:3px;font-size:14px;text-align:center;overflow-wrap:anywhere;}
.rose-index-v1 .rose-preview-error-person {min-width:0;}
.rose-index-v1 .rose-preview-error-person h3 {margin:0 0 4px;font-size:20px;line-height:1.35;overflow-wrap:anywhere;}
.rose-index-v1 .rose-preview-error-person p {margin:0;color:var(--rose-body);font-size:14px;line-height:1.4;overflow-wrap:anywhere;}
.rose-index-v1 .rose-preview-close {display:block;width:100%;min-height:44px;border:0;border-top:1px solid var(--rose-line);background:#fffbfc;color:var(--rose-body);font-size:14px;text-decoration:underline;cursor:pointer;}
