/* 相生 · 认真相亲页 (long page + owner editor). Tokens only; matches the dense .ps2 card. 390px first. */
.sp-wrap .sr-only,.serious-editor .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sp-wrap{max-width:620px;margin:0 auto;padding:12px var(--xs-gutter) 0}
.sp{color:var(--xs-ink);text-wrap:pretty}
.sp-back{margin:0 0 6px;font-size:var(--xs-fs-sm)}
.sp-back a{display:inline-flex;align-items:center;min-height:var(--xs-tap);color:var(--xs-muted);text-decoration:none}
.sp-ownbar{margin:0 0 12px;padding:10px 12px;border-radius:var(--xs-r-md);background:var(--xs-primary-soft);color:var(--xs-ink-2);font-size:var(--xs-fs-sm);line-height:1.55}
.sp-ownbar a{margin-left:6px;color:var(--xs-primary);font-weight:600}
.sp-head{padding:4px 0 12px;border-bottom:1px solid var(--xs-line-strong)}
.sp-head h1{margin:0;font:800 30px/1.2 var(--xs-serif);letter-spacing:.02em}
.sp-meta{margin:4px 0 0;color:var(--xs-ink-2);font:600 var(--xs-fs-sm)/1.45 var(--xs-serif);letter-spacing:.04em}
.sp-purposes,.sp-pills{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0;padding:0;list-style:none}
.sp-purposes li{padding:3px 10px;border-radius:var(--xs-r-pill);background:var(--xs-el-soft);color:var(--xs-el);font-size:var(--xs-fs-xs);font-weight:700}
.sp-block{padding:14px 0;border-bottom:1px solid var(--xs-line)}
.sp-h{display:flex;align-items:center;gap:8px;margin:0 0 8px;font:700 var(--xs-fs-md)/1.3 var(--xs-serif);letter-spacing:.03em}
.sp-scope{margin-left:auto;padding:2px 8px;border-radius:var(--xs-r-pill);background:var(--xs-surface-2);color:var(--xs-muted);font:500 var(--xs-fs-xs) var(--xs-sans);letter-spacing:0}
.sp-scope-private{color:var(--xs-danger)}
.sp-text{margin:0;font-size:var(--xs-fs-base);line-height:1.75;white-space:pre-line;color:var(--xs-ink)}
.sp-hobby{display:inline-block;margin-right:8px;padding:1px 8px;border-radius:var(--xs-r-sm);background:var(--xs-surface-2);font-weight:700}
.sp-fine{margin:8px 0 0;color:var(--xs-muted);font-size:var(--xs-fs-xs);line-height:1.5}
.sp-sparse{margin:16px 0 0;padding:14px;border:1px dashed var(--xs-line-strong);border-radius:var(--xs-r-lg);color:var(--xs-ink-2);font-size:var(--xs-fs-sm);line-height:1.6;text-align:center}
/* photos: first one large, the rest in a 3-col grid */
.sp-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.sp-photo{margin:0;overflow:hidden;border-radius:var(--xs-r-md);background:var(--xs-surface-2);aspect-ratio:1}
.sp-photo:first-child{grid-column:1/-1;aspect-ratio:4/5}
.sp-n2 .sp-photo{grid-column:auto;aspect-ratio:4/5}.sp-n2{grid-template-columns:1fr 1fr}
.sp-photo img{display:block;width:100%;height:100%;object-fit:cover}
.sp-photo.is-broken{display:none}
/* voice */
.sp-voice{display:flex;align-items:center;gap:12px;padding:10px 14px 10px 10px;border-radius:var(--xs-r-pill);background:var(--xs-surface-2)}
.sp-play{flex:none;display:grid;place-items:center;width:var(--xs-tap);height:var(--xs-tap);border:0;border-radius:50%;background:var(--xs-primary);color:var(--xs-primary-ink);font-size:14px;cursor:pointer}
.sp-wave{flex:1;display:flex;align-items:center;gap:2px;height:30px;min-width:0}
.sp-wave i{flex:1;max-width:5px;min-height:3px;border-radius:2px;background:var(--xs-line-strong);transition:background .15s var(--xs-ease)}
.sp-wave i.on{background:var(--xs-primary)}
.sp-time{flex:none;color:var(--xs-muted);font:500 var(--xs-fs-xs) var(--xs-sans);font-variant-numeric:tabular-nums}
.sp-time b{color:var(--xs-ink);font-weight:600}
/* verification strip */
.sp-verify{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.sp-verify li{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border:1px solid var(--xs-line);border-radius:var(--xs-r-pill);color:var(--xs-muted);font-size:var(--xs-fs-xs);background:var(--xs-surface)}
.sp-verify li.is-on{border-color:var(--xs-primary);background:var(--xs-primary-soft);color:var(--xs-primary);font-weight:700}
.sp-verify em{font-style:normal;font-weight:500}
.sp-dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.45}.is-on .sp-dot{opacity:1}
.sp-members{margin:0;padding:8px 12px;border-radius:var(--xs-r-md);background:var(--xs-surface-2);color:var(--xs-ink-2);font-size:var(--xs-fs-sm)}
.sp-assets{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0}
.sp-assets div{padding:0 10px;border-left:1px solid var(--xs-line)}.sp-assets div:first-child{padding-left:0;border-left:0}
.sp-assets dt{color:var(--xs-muted);font-size:var(--xs-fs-xs)}
.sp-assets dd{margin:2px 0 0;font:700 var(--xs-fs-base)/1.3 var(--xs-serif)}
.sp-pills li{padding:5px 12px;border:1px solid var(--xs-line-strong);border-radius:var(--xs-r-pill);font-size:var(--xs-fs-sm);background:var(--xs-surface)}
.sp-qtags{display:grid;gap:10px}
.sp-qrow{display:grid;grid-template-columns:64px 1fr;gap:8px;align-items:start}
.sp-qrow h3{margin:7px 0 0;color:var(--xs-muted);font:600 var(--xs-fs-xs)/1.3 var(--xs-sans)}
.sp-qrow .sp-pills{margin:0}
.sp-pills li.is-same{border-color:var(--xs-wood)}
.sp-same{margin-left:6px;padding:0 5px;border-radius:var(--xs-r-sm);background:var(--xs-wood-soft);color:var(--xs-wood);font-size:var(--xs-fs-xs);font-weight:700}
.sp-cta{margin:16px calc(-1 * var(--xs-gutter)) 0;padding-left:var(--xs-gutter);padding-right:var(--xs-gutter)}
.sp-safety{display:flex;justify-content:center;gap:20px;margin:6px 0 0}
.sp-safety .text-button{min-height:32px;color:var(--xs-muted);font-size:var(--xs-fs-sm);text-decoration:underline;text-underline-offset:3px}
.sp-empty{padding:24px}.sp-empty h1{margin:0 0 6px;font:700 var(--xs-fs-xl) var(--xs-serif)}
.ps2-serious{display:flex;align-items:center;justify-content:space-between;margin:12px 0 0;padding:12px 14px;min-height:var(--xs-tap);border:1px solid var(--xs-primary);border-radius:var(--xs-r-lg);color:var(--xs-primary);font:700 var(--xs-fs-base) var(--xs-serif);text-decoration:none;letter-spacing:.03em}
@media(min-width:720px){.sp-head h1{font-size:38px}.sp-photos{grid-template-columns:repeat(4,1fr)}.sp-photo:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}.sp-n2{grid-template-columns:1fr 1fr}.sp-n2 .sp-photo:first-child{grid-column:auto;grid-row:auto;aspect-ratio:4/5}.sp-qrow{grid-template-columns:80px 1fr}}

/* ---------- owner editor ---------- */
.serious-editor{margin-top:20px;padding:18px var(--xs-gutter);text-wrap:pretty}
.se-intro h2{margin:0;font:700 var(--xs-fs-xl) var(--xs-serif)}
.se-intro .muted{margin:6px 0 0;font-size:var(--xs-fs-sm);line-height:1.6}
.se-block{padding:14px 0;border-top:1px solid var(--xs-line)}
.se-block:first-child{margin-top:12px}
.se-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.se-head h3{margin:0;font:700 var(--xs-fs-md) var(--xs-serif)}
.sp-scope-pick select{min-height:36px;padding:4px 8px;border:1px solid var(--xs-line-strong);border-radius:var(--xs-r-sm);background:var(--xs-surface);color:var(--xs-ink-2);font-size:var(--xs-fs-xs)}
.se-note{margin:4px 0 8px;color:var(--xs-muted);font-size:var(--xs-fs-xs);line-height:1.5}
.se-block textarea,.se-block input:not([type]){display:block;width:100%;box-sizing:border-box;margin-top:8px;padding:10px 12px;border:1px solid var(--xs-line-strong);border-radius:var(--xs-r-md);background:var(--xs-surface);font:var(--xs-fs-base)/1.6 var(--xs-sans);color:var(--xs-ink);resize:vertical}
.se-count{margin:4px 0 0;text-align:right;color:var(--xs-muted);font-size:var(--xs-fs-xs);font-variant-numeric:tabular-nums}
.se-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:8px 0 0;padding:0;list-style:none}
.se-photos li{position:relative;aspect-ratio:1;overflow:hidden;border-radius:var(--xs-r-md);background:var(--xs-surface-2)}
.se-photos img{width:100%;height:100%;object-fit:cover;display:block}
.se-x{position:absolute;top:4px;right:4px;width:32px;height:32px;border:0;border-radius:50%;background:rgba(31,42,38,.72);color:#fff;font-size:18px;line-height:1;cursor:pointer}
.se-add label{display:grid;place-items:center;height:100%;border:1px dashed var(--xs-line-strong);border-radius:var(--xs-r-md);color:var(--xs-primary);font-size:var(--xs-fs-sm);font-weight:600;cursor:pointer}
.se-voice{display:grid;gap:8px;margin-top:8px}
.se-voice-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}
.se-file{color:var(--xs-muted);font-size:var(--xs-fs-sm);text-decoration:underline;cursor:pointer}
.se-rec-state{color:var(--xs-ink-2);font-size:var(--xs-fs-sm)}
.se-qrow{margin-top:10px}.se-qrow h4{margin:0 0 4px;color:var(--xs-muted);font:600 var(--xs-fs-xs) var(--xs-sans)}
.serious-editor .chip-options{display:flex;flex-wrap:wrap;gap:6px}
.se-row .se-note{margin-bottom:0}
.se-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.se-actions .primary{flex:1 1 200px}.se-actions .secondary{flex:1 1 160px;text-decoration:none}
