.verifier-hero { padding-top:4.4rem; padding-bottom:1.3rem; }
.verifier-hero-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr); gap:2rem; align-items:center; }
.verifier-hero h1 { font-size:clamp(2.8rem,7vw,6.2rem); line-height:.93; letter-spacing:-.065em; margin:.45rem 0 1.15rem; }
.verifier-hero p { max-width:72ch; color:var(--muted); }
.verifier-hero code { color:var(--accent); }
.verifier-summary { padding:1.35rem; display:grid; gap:1rem; }
.verifier-summary h2 { margin:.15rem 0 0; font-size:clamp(1.5rem,3vw,2.3rem); }
.verifier-summary p { margin:0; color:var(--muted); }
.privacy-flow { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:.55rem; align-items:center; margin-top:.35rem; }
.privacy-flow span { min-height:70px; display:grid; place-items:center; text-align:center; padding:.7rem; border:1px solid var(--line); border-radius:14px; background:rgba(4,13,25,.34); color:#bfd3e7; font-size:.75rem; }
.privacy-flow strong { color:var(--accent-2); }

.verifier-section { padding-top:2.2rem; }
.verifier-layout { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr); gap:1.3rem; align-items:start; }
.verifier-workbench { padding:1.4rem; }
.verifier-head { display:flex; justify-content:space-between; align-items:end; gap:1rem; margin-bottom:1rem; }
.verifier-head h2 { margin:.2rem 0 0; }
.file-state { color:var(--muted); font-size:.74rem; text-align:right; overflow-wrap:anywhere; }
.verifier-dropzone { min-height:150px; display:grid; place-items:center; align-content:center; gap:.25rem; border:1px dashed rgba(119,198,255,.4); border-radius:18px; background:rgba(119,198,255,.025); cursor:pointer; transition:.2s var(--ease); text-align:center; padding:1.4rem; }
.verifier-dropzone:hover, .verifier-dropzone.dragover { border-color:var(--accent-2); background:rgba(113,255,209,.045); transform:translateY(-1px); }
.verifier-dropzone .drop-icon { width:48px; height:48px; display:grid; place-items:center; border:1px solid var(--line); border-radius:14px; color:var(--accent); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-weight:800; margin-bottom:.35rem; }
.verifier-dropzone strong { color:var(--text); }
.verifier-dropzone span:not(.drop-icon), .verifier-dropzone small { color:var(--muted); }
.verifier-dropzone small { font-size:.68rem; margin-top:.3rem; }
.or-divider { display:flex; align-items:center; gap:.8rem; color:#6d859d; font-size:.68rem; font-weight:800; letter-spacing:.12em; margin:1rem 0; }
.or-divider::before, .or-divider::after { content:""; flex:1; height:1px; background:rgba(140,190,255,.1); }
.editor-label { display:block; margin-bottom:.45rem; color:#cfdef0; font-size:.82rem; font-weight:700; }
.json-editor { width:100%; min-height:430px; resize:vertical; border:1px solid var(--line); border-radius:16px; background:#04101d; color:#cae2f7; padding:1rem; outline:none; font:500 .82rem/1.6 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; tab-size:2; transition:border-color .2s,box-shadow .2s; }
.json-editor:focus { border-color:rgba(119,198,255,.62); box-shadow:0 0 0 4px rgba(119,198,255,.08); }
.json-editor::placeholder { color:#60788e; }
.editor-meta { display:flex; justify-content:space-between; gap:1rem; margin-top:.45rem; color:#758da5; font-size:.68rem; }
.verifier-actions { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1rem; }
.verifier-actions .btn { min-height:44px; }

.verifier-side { display:grid; gap:1rem; position:sticky; top:calc(var(--header-height) + 1rem); }
.result-panel, .verifier-note { padding:1.25rem; }
.result-state-row { display:grid; grid-template-columns:auto 1fr; gap:.9rem; align-items:start; margin-top:.55rem; }
.result-indicator { width:15px; height:15px; margin-top:.36rem; border-radius:50%; background:#658099; box-shadow:0 0 0 5px rgba(101,128,153,.08); }
.result-panel h2 { margin:0 0 .35rem; font-size:1.25rem; }
.result-panel p { margin:0; color:var(--muted); font-size:.8rem; line-height:1.55; }
.result-panel[data-state="valid"] { border-color:rgba(113,255,209,.32); }
.result-panel[data-state="valid"] .result-indicator { background:var(--accent-2); box-shadow:0 0 18px rgba(113,255,209,.45),0 0 0 5px rgba(113,255,209,.08); }
.result-panel[data-state="invalid"] { border-color:rgba(255,125,150,.36); }
.result-panel[data-state="invalid"] .result-indicator { background:#ff7d96; box-shadow:0 0 18px rgba(255,125,150,.32),0 0 0 5px rgba(255,125,150,.07); }
.result-details { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.55rem; margin:1rem 0 0; }
.result-details > div { padding:.7rem; border:1px solid var(--line); border-radius:12px; background:rgba(4,13,25,.33); }
.result-details dt { color:var(--muted); font-size:.65rem; text-transform:uppercase; letter-spacing:.08em; }
.result-details dd { margin:.2rem 0 0; color:var(--text); font:700 .86rem ui-monospace,SFMono-Regular,Menlo,monospace; }
.error-preview { margin:1rem 0 0; overflow:auto; border:1px solid rgba(255,125,150,.22); border-radius:12px; background:#060d17; padding:.8rem; color:#ffc3cf; font:.72rem/1.55 ui-monospace,SFMono-Regular,Menlo,monospace; white-space:pre-wrap; overflow-wrap:anywhere; }
.verifier-note h3 { margin:.35rem 0 .6rem; font-size:1.05rem; }
.verifier-note p { margin:0; color:var(--muted); font-size:.78rem; line-height:1.6; }
.inline-link { display:inline-flex; margin-top:.8rem; color:var(--accent); font-size:.78rem; font-weight:700; }
.inline-link:hover { color:var(--accent-2); }

@media (max-width: 980px) {
  .verifier-hero-grid, .verifier-layout { grid-template-columns:1fr; }
  .verifier-side { position:relative; top:auto; grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 680px) {
  .verifier-hero { padding-top:3rem; }
  .privacy-flow { grid-template-columns:1fr; }
  .privacy-flow strong { transform:rotate(90deg); }
  .verifier-head { align-items:flex-start; flex-direction:column; }
  .file-state { text-align:left; }
  .json-editor { min-height:340px; }
  .verifier-side { grid-template-columns:1fr; }
  .result-details { grid-template-columns:1fr; }
  .verifier-actions { align-items:stretch; flex-direction:column; }
  .verifier-actions .btn { width:100%; }
}
