/* AIFlasher iPhone Panic Intelligence v5 — page styles (site header/footer come from styles.recovery-*.css) */
:root {
  --pb-bg: #070a12; --pb-card: #0f1422; --pb-card-2: #0a0f1a; --pb-hover: #151d30; --pb-line: #222d42;
  --pb-text: #e2e8f0; --pb-dim: #94a3b8; --pb-mute: #64748b; --pb-gold: #f59e0b; --pb-gold-soft: rgba(245,158,11,.14);
  --pb-green: #10b981; --pb-red: #f43f5e; --pb-blue: #60a5fa; --pb-violet: #a78bfa;
  --pb-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
body { background: var(--pb-bg); color: var(--pb-text); margin: 0; line-height: 1.5; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; }
.panic-wrap { max-width: 1200px; margin: 0 auto; padding: 24px 16px 80px; }
.panic-wrap a { color: var(--pb-blue); }
.panic-wrap code { font-family: var(--pb-mono); }
.hero-box { background: linear-gradient(180deg, #111827, var(--pb-card)); border: 1px solid var(--pb-line); border-radius: 16px; padding: 32px 28px; margin-bottom: 24px; position: relative; overflow: hidden; }
.hero-box::after { content: ''; position: absolute; top: -40px; right: -40px; width: 300px; height: 300px; background: radial-gradient(circle, var(--pb-gold-soft), transparent 70%); pointer-events: none; }
.gold-badge { display: inline-block; background: var(--pb-gold-soft); border: 1px solid rgba(245,158,11,.3); color: var(--pb-gold); padding: 4px 10px; border-radius: 999px; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 12px; }
.hero-title { font-size: clamp(1.6rem, 3.4vw, 2.3rem); font-weight: 800; margin: 0 0 12px; line-height: 1.2; letter-spacing: -.02em; }
.hero-title span { color: var(--pb-gold); }
.hero-desc { color: var(--pb-dim); max-width: 780px; font-size: .95rem; margin: 12px 0 0; }
.hero-stats { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 16px; font-size: 12px; color: var(--pb-dim); }
.hero-stats span { background: #0b111d; border: 1px solid var(--pb-line); border-radius: 8px; padding: 5px 10px; }
.hero-stats b { color: var(--pb-text); font-family: var(--pb-mono); }
.chips-label { font-size: 12px; color: #cbd5e1; font-weight: 700; margin: 18px 0 8px; letter-spacing: .04em; text-transform: uppercase; }
.bench-chips { display: flex; gap: 8px; flex-wrap: wrap; }
.bench-chip { background: #182032; border: 1px solid var(--pb-line); padding: 6px 12px; border-radius: 8px; font-size: 12px; font-weight: 600; cursor: pointer; color: #cbd5e1; min-height: 36px; }
.bench-chip:hover { background: var(--pb-gold); color: #000; border-color: var(--pb-gold); }
.grid-2col { display: grid; grid-template-columns: 1.1fr .9fr; gap: 20px; margin-bottom: 24px; }
@media (max-width: 900px) { .grid-2col { grid-template-columns: 1fr; } }
.workbench-panel { background: var(--pb-card); border: 1px solid var(--pb-line); border-radius: 14px; padding: 20px; min-width: 0; }
.panel-header { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 14px; border-bottom: 1px solid var(--pb-line); padding-bottom: 12px; }
.panel-title { font-size: 1.05rem; font-weight: 700; color: #fff; margin: 0; }
.panel-sub { font-size: 13px; font-weight: 700; color: #fff; margin: 16px 0 6px; }
.ocr-dropzone { border: 2px dashed rgba(245,158,11,.4); background: rgba(245,158,11,.03); border-radius: 10px; padding: 18px; cursor: pointer; margin-bottom: 12px; display: flex; align-items: center; justify-content: center; gap: 14px; text-align: left; }
.ocr-dropzone:hover, .ocr-dropzone.dragover, .ocr-dropzone:focus-visible { border-color: var(--pb-gold); background: rgba(245,158,11,.08); }
.ocr-dropzone[aria-busy="true"] { opacity: .6; cursor: progress; }
.ocr-icon { font-size: 30px; }
.ocr-text strong { display: block; color: var(--pb-gold); font-size: 13px; }
.ocr-text span { color: var(--pb-dim); font-size: 12px; }
.ocr-status { background: var(--pb-card-2); border: 1px solid var(--pb-line); border-radius: 8px; padding: 10px 12px; margin-bottom: 12px; }
.ocr-status.is-error { border-color: rgba(244,63,94,.5); } .ocr-status.is-warn { border-color: rgba(245,158,11,.5); } .ocr-status.is-ok { border-color: rgba(16,185,129,.45); }
.ocr-status-text { font-size: 12px; color: #cbd5e1; font-weight: 600; margin-bottom: 8px; display: flex; justify-content: space-between; gap: 10px; }
.ocr-progress-track { height: 6px; background: #1e293b; border-radius: 3px; overflow: hidden; }
.ocr-progress-fill { height: 100%; background: var(--pb-gold); transition: width .2s; }
.ocr-preview { margin: 0 0 12px; border: 1px solid var(--pb-line); border-radius: 8px; overflow: hidden; background: #000; }
.ocr-preview summary { font-size: 12px; color: var(--pb-dim); padding: 8px 12px; cursor: pointer; background: var(--pb-card-2); }
.ocr-preview img { display: block; max-width: 100%; max-height: 420px; margin: 0 auto; object-fit: contain; }
.ocr-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--pb-line); }
.ocr-pair figure { margin: 0; background: #000; display: flex; flex-direction: column; min-width: 0; }
.ocr-pair figure:has(img[hidden]) { display: none; }
.ocr-pair:not(:has(figure + figure img:not([hidden]))) { grid-template-columns: 1fr; }
.ocr-pair figcaption { font-size: 11px; color: var(--pb-dim); padding: 6px 10px; background: var(--pb-card-2); text-align: center; }
@media (max-width: 640px) { .ocr-pair { grid-template-columns: 1fr; } }
.panic-textarea { width: 100%; height: 220px; background: var(--pb-card-2); border: 1px solid var(--pb-line); border-radius: 8px; color: var(--pb-text); font-family: var(--pb-mono); font-size: 12px; padding: 12px; resize: vertical; box-sizing: border-box; }
.panic-textarea:focus { outline: none; border-color: var(--pb-gold); }
.btn-bar { display: flex; gap: 10px; margin-top: 12px; flex-wrap: wrap; }
.btn-primary { background: var(--pb-gold); color: #000; font-weight: 700; border: none; padding: 10px 18px; border-radius: 8px; cursor: pointer; font-size: 13px; }
.btn-primary:hover { filter: brightness(1.08); }
.btn-secondary { background: #1e293b; color: var(--pb-text); border: 1px solid var(--pb-line); padding: 10px 14px; border-radius: 8px; cursor: pointer; font-size: 13px; }
.btn-secondary:hover { background: #283548; }
.btn-sm { padding: 4px 10px; font-size: 12px; min-height: 32px; }
button:disabled { opacity: .5; cursor: not-allowed; }
.kbd-hint { font-size: 11px; color: var(--pb-mute); margin-top: 6px; }
.panel-notice { margin-top: 10px; font-size: 12px; padding: 8px 12px; border-radius: 6px; background: var(--pb-card-2); border: 1px solid var(--pb-line); }
.panel-notice.is-error { border-color: rgba(244,63,94,.5); color: #fda4af; } .panel-notice.is-ok { border-color: rgba(16,185,129,.45); color: #6ee7b7; }
.status-pill { padding: 3px 10px; border-radius: 999px; font-size: 11px; font-weight: 700; text-transform: uppercase; white-space: nowrap; }
.pill-idle { background: #1e293b; color: var(--pb-dim); border: 1px solid var(--pb-line); }
.pill-mapped { background: rgba(16,185,129,.18); color: #34d399; border: 1px solid rgba(16,185,129,.4); }
.pill-community { background: rgba(245,158,11,.18); color: #fbbf24; border: 1px solid rgba(245,158,11,.4); }
.pill-unknown { background: rgba(244,63,94,.18); color: #fb7185; border: 1px solid rgba(244,63,94,.4); }
.telem-list { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 14px; }
.telem-item { background: var(--pb-card-2); border: 1px solid var(--pb-line); padding: 10px 12px; border-radius: 8px; min-width: 0; }
.telem-label { font-size: 11px; color: var(--pb-dim); text-transform: uppercase; letter-spacing: .05em; }
.telem-val { font-size: 14px; font-weight: 700; color: #fff; margin-top: 2px; font-family: var(--pb-mono); overflow-wrap: anywhere; }
.telem-val small, .data-table small { display: block; font-size: 11px; font-weight: 400; color: var(--pb-dim); font-family: inherit; margin-top: 2px; }
.finding-box { background: #131b2e; border: 1px solid rgba(245,158,11,.25); border-left: 4px solid var(--pb-green); border-radius: 8px; padding: 12px 14px; margin-bottom: 10px; }
.finding-warn { border-left-color: var(--pb-gold); } .finding-danger { border-left-color: var(--pb-red); border-color: rgba(244,63,94,.35); }
.finding-muted { border-left-color: var(--pb-mute); border-color: var(--pb-line); background: var(--pb-card-2); }
.finding-title { font-size: 14px; font-weight: 800; color: #fff; margin-bottom: 4px; overflow-wrap: anywhere; }
.finding-desc { font-size: 13px; color: #cbd5e1; }
.finding-foot { font-size: 11px; color: var(--pb-dim); margin-top: 8px; }
.warn-line { font-size: 12px; color: #fbbf24; margin-top: 6px; }
.case-list { margin: 6px 0 0; padding-left: 18px; font-size: 12px; color: var(--pb-dim); }
.family-line { font-size: 12px; color: var(--pb-dim); margin: 4px 0 10px; }
details.noise { margin-bottom: 10px; } details.noise summary { font-size: 12px; color: var(--pb-dim); cursor: pointer; padding: 4px 0; }
.isolation-box { background: var(--pb-card-2); border: 1px solid var(--pb-line); border-radius: 8px; padding: 12px; }
.isolation-step { display: flex; gap: 10px; margin-bottom: 8px; font-size: 12.5px; }
.step-num { background: var(--pb-gold); color: #000; font-weight: 800; border-radius: 4px; padding: 2px 6px; height: fit-content; font-size: 11px; }
.empty-hint { font-size: 12px; color: var(--pb-mute); }
.muted { color: var(--pb-mute); }
.tier { display: inline-block; padding: 2px 7px; border-radius: 4px; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; vertical-align: middle; white-space: nowrap; }
.tier-apple { background: #0c2a4a; color: #93c5fd; } .tier-wiki { background: #451a03; color: #fbbf24; } .tier-case { background: #3b2a05; color: #fde68a; }
.tier-conflict { background: #4c0519; color: #fda4af; } .tier-bench { background: #064e3b; color: #34d399; }
.wdt-track { position: relative; background: #111827; height: 12px; border-radius: 6px; margin: 30px 8px 12px; border: 1px solid var(--pb-line); }
.wdt-fill { position: absolute; inset: 0; border-radius: 6px; background: linear-gradient(90deg, rgba(16,185,129,.35), rgba(245,158,11,.45) 80%, rgba(244,63,94,.7)); }
.wdt-node { position: absolute; top: -22px; transform: translateX(-50%); font-size: 10px; color: var(--pb-dim); font-family: var(--pb-mono); white-space: nowrap; }
.wdt-node:first-of-type { transform: none; }
.wdt-fault { color: var(--pb-red); font-weight: 700; transform: translateX(-100%); }
.wdt-empty { position: absolute; top: -22px; left: 0; font-size: 11px; color: var(--pb-mute); }
.wdt-verdict { font-size: 13px; color: #cbd5e1; margin-top: 16px; background: var(--pb-card-2); padding: 10px 14px; border-radius: 6px; border: 1px solid var(--pb-line); }
.section-note { font-size: 12px; color: var(--pb-dim); margin: 4px 0 12px; }
.tabs-bar { display: flex; gap: 6px; border-bottom: 1px solid var(--pb-line); margin: 28px 0 16px; overflow-x: auto; padding-bottom: 8px; }
.tab-btn { background: transparent; border: none; color: var(--pb-dim); padding: 8px 14px; font-size: 14px; font-weight: 600; cursor: pointer; border-radius: 6px; white-space: nowrap; }
.tab-btn.active { background: #182032; color: var(--pb-gold); }
.search-input { width: 100%; max-width: 380px; background: var(--pb-card-2); border: 1px solid var(--pb-line); border-radius: 8px; padding: 9px 14px; color: #fff; font-size: 13px; box-sizing: border-box; }
.search-input:focus { outline: none; border-color: var(--pb-gold); }
.table-head { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 12px; }
.table-scroll { overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; font-size: 13px; text-align: left; }
.data-table th { background: #131b2e; color: var(--pb-gold); padding: 10px 12px; border-bottom: 1px solid var(--pb-line); font-size: 11px; text-transform: uppercase; white-space: nowrap; }
.data-table td { padding: 10px 12px; border-bottom: 1px solid #1a2233; color: #cbd5e1; vertical-align: top; }
.data-table tr:hover td { background: var(--pb-hover); }
.hex { color: var(--pb-gold); font-weight: 700; } .err { color: var(--pb-red); font-weight: 700; }
.eval-card { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; margin-bottom: 14px; }
.eval-input-group label { display: block; font-size: 11px; color: var(--pb-dim); text-transform: uppercase; margin-bottom: 4px; }
.eval-input-group input { width: 100%; background: var(--pb-card-2); border: 1px solid var(--pb-line); border-radius: 6px; padding: 8px 12px; color: #fff; font-family: var(--pb-mono); font-size: 13px; box-sizing: border-box; }
.eval-result { margin-top: 14px; font-size: 13px; padding: 14px; background: var(--pb-card-2); border-radius: 8px; border: 1px solid var(--pb-line); line-height: 1.7; }
.good { color: #34d399; } .warn { color: #fbbf24; } .bad { color: #fb7185; }
@media (max-width: 560px) { .telem-list { grid-template-columns: 1fr; } .hero-box { padding: 22px 16px; } .workbench-panel { padding: 14px; } }

/* v6: desktop-KB bench detail */
.kb-checks { margin: 8px 0 0; padding-left: 18px; font-size: 12.5px; color: var(--pb-text, #e6edf3); }
.kb-checks li { margin: 3px 0; line-height: 1.45; }
.kb-detail { margin-top: 8px; border: 1px solid var(--pb-line); border-radius: 8px; background: rgba(255,255,255,.02); }
.kb-detail summary { cursor: pointer; padding: 6px 10px; font-size: 12px; color: var(--pb-dim); }
.kb-model { padding: 6px 10px 8px; border-top: 1px solid var(--pb-line); font-size: 12.5px; }
.kb-model code { font-size: 11.5px; }
.kb-model small, .kb-src { display: block; margin-top: 4px; font-size: 11.5px; color: var(--pb-dim); }
.kb-src a { margin-right: 2px; }
.kb-report { margin: 10px 0; padding: 10px 12px; border: 1px solid rgba(245,158,11,.45); border-radius: 10px; background: rgba(245,158,11,.06); }
.kb-report-h { margin-top: 8px; font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--pb-dim); font-weight: 700; }
.kb-chip { display: inline-block; margin-top: 6px; padding: 1px 8px; border: 1px solid var(--pb-line); border-radius: 999px; font: 11px/1.6 ui-monospace, monospace; color: var(--pb-dim); }
/* v6.7: bench report */
.bench-report { margin-top: 12px; }
.br-form { display: grid; gap: 10px; padding: 10px 12px 12px; }
.br-form label { display: grid; gap: 4px; font-size: 12px; color: var(--pb-dim); }
.br-form input, .br-form select, .br-form textarea { font: inherit; font-size: 13px; color: var(--pb-text, #e6edf3); background: rgba(255,255,255,.04); border: 1px solid var(--pb-line); border-radius: 8px; padding: 8px 10px; min-width: 0; }
.br-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
@media (max-width: 640px) { .br-row { grid-template-columns: 1fr; } }
.br-trap { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.br-note { font-size: 11.5px; color: var(--pb-dim); }
.br-msg { font-size: 12.5px; color: #fbbf24; min-height: 1em; }
.br-wrap > summary { font-weight: 600; color: var(--pb-text, #e6edf3); }
/* v6.9: language toggle */
.lang-toggle { display: inline-flex; float: right; gap: 0; border: 1px solid var(--pb-line); border-radius: 999px; overflow: hidden; margin: 0 0 8px 12px; }
.lang-toggle button { font: 600 12px/1 inherit; font-family: inherit; padding: 7px 12px; background: transparent; color: var(--pb-dim); border: 0; cursor: pointer; min-height: 32px; }
.lang-toggle button[aria-pressed="true"] { background: var(--pb-accent, #f59e0b); color: #111; }
.lang-toggle button:focus-visible { outline: 2px solid var(--pb-accent, #f59e0b); outline-offset: -2px; }

/* Shared theme keeps compact workbench headings. */
.panic-wrap .panel-title{font-size:18px;line-height:1.4}.panic-wrap .finding-title{font-size:16px}
