.online-identity-page { min-height:100%; background:var(--paper); color:var(--ink); }
.oni-main { width:min(680px,100%); margin:0 auto; padding:18px 14px 36px; box-sizing:border-box; }
.oni-main > header { padding:6px 2px 18px; border-bottom:1px solid var(--line); }
.oni-main h1 { margin:0 0 7px; font-size:24px; }
.oni-main header p,.oni-muted { margin:0; color:var(--ink-2); font-size:13px; line-height:1.65; }
.oni-form { padding:20px 2px 24px; border-bottom:1px solid var(--line); }
.oni-form label { display:block; margin:14px 0 7px; font-weight:700; }
.oni-form select,.oni-form input { width:100%; min-height:48px; box-sizing:border-box; padding:0 13px; border:1px solid var(--line); border-radius:11px; background:var(--card); color:var(--ink); font:inherit; }
.oni-form .btn { min-height:48px; margin-top:16px; }
.oni-list { padding-top:22px; }
.oni-list > h2,.oni-proof h2 { margin:0 0 12px; font-size:17px; }
.oni-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px 12px; padding:15px 2px; border-bottom:1px solid var(--line); color:inherit; text-decoration:none; }
.oni-row h3 { margin:0 0 4px; font-size:16px; overflow-wrap:anywhere; }
.oni-kind { color:var(--ink-3); font-size:12px; }
.oni-status { align-self:start; padding:5px 8px; border-radius:999px; background:#fff3d8; color:#765617; font-size:12px; white-space:nowrap; }
.oni-status.is-bound { background:#e5f5ea; color:#176b38; }
.oni-status.is-superseded { background:var(--paper-2); color:var(--ink-3); }
.oni-status.is-proof_conflict { background:#fff0ed; color:var(--red); }
.oni-status.is-withdrawn,.oni-status.is-expired { background:var(--paper-2); color:var(--ink-3); }
.oni-row dl { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8px 14px; margin:0; }
.oni-row dl div,.oni-facts div { min-width:0; }
.oni-row dt,.oni-facts dt { color:var(--ink-3); font-size:11px; }
.oni-row dd,.oni-facts dd { margin:3px 0 0; font-size:13px; overflow-wrap:anywhere; }
.oni-state,.oni-error,.oni-notice,.oni-review,.oni-success { margin:12px 0; padding:12px; border-radius:10px; font-size:13px; line-height:1.55; }
.oni-state { border:1px dashed var(--line); text-align:center; color:var(--ink-2); }
.oni-error,.oni-state.is-error { background:#fff0ed; color:var(--red); }
.oni-notice,.oni-review { background:#fff6df; color:#765617; }
.oni-success { background:#e5f5ea; color:#176b38; }
.oni-error button,.oni-notice button { min-height:44px; border:0; background:transparent; color:inherit; text-decoration:underline; }
.oni-link { min-height:44px; padding:8px 12px; border:1px solid var(--line); border-radius:10px; background:transparent; color:var(--ink-2); font:inherit; font-size:13px; }
.oni-detail-head { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px 16px; align-items:start; }
.oni-detail-head > div { min-width:0; }
.oni-detail-head h1 { overflow-wrap:anywhere; line-height:1.25; }
.oni-facts { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:0 0 20px; padding:18px 0; border-bottom:1px solid var(--line); }
.oni-proof { padding:8px 0 0; }
.oni-proof ol { padding-left:22px; color:var(--ink-2); line-height:1.75; }
.oni-proof > .btn { min-height:44px; margin-top:4px; }
.oni-challenge { margin:15px 0; padding:14px; border-radius:12px; background:var(--card); border:1px solid var(--line); }
.oni-challenge p { margin:0 0 10px; color:var(--ink-2); font-size:13px; line-height:1.55; }
.oni-challenge code { display:block; padding:11px; border-radius:8px; background:var(--paper-2); overflow-wrap:anywhere; user-select:all; }
.oni-challenge > div { display:flex; gap:8px; margin-top:12px; }
.oni-challenge .btn,.oni-withdraw { min-height:44px; }
.oni-withdraw { display:block; margin-top:24px; padding:8px 13px; border:1px solid var(--line); border-radius:10px; background:transparent; color:var(--red); font:inherit; font-size:13px; }
.oni-resolution { margin-top:22px; padding-top:18px; border-top:1px solid var(--line); }
.oni-resolution h2 { margin:0 0 12px; font-size:17px; }
.oni-resolution article { padding:13px 0; border-bottom:1px solid var(--line); }
.oni-resolution p,.oni-resolution time { display:block; margin:6px 0 0; color:var(--ink-2); font-size:13px; line-height:1.55; overflow-wrap:anywhere; }
@media (max-width:480px) {
  .oni-detail-head { grid-template-columns:1fr; }
  .oni-detail-head .oni-status { justify-self:start; }
}
@media (max-width:360px) {
  .oni-main { padding-left:11px; padding-right:11px; }
  .oni-row dl,.oni-facts { grid-template-columns:1fr; }
  .oni-challenge > div { display:grid; }
}
