/* Guided setup — public paranoid.phd theme */
:root {
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --serif: Georgia, "Times New Roman", serif;
  --mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --bg: #10110f;
  --surface: #181a17;
  --surface-2: #1f221d;
  --surface-3: #282c25;
  --border: #34372f;
  --border-2: #4b5045;
  --border-3: #626958;
  --text: #f2f3ee;
  --text-strong: #f7f8f3;
  --text-muted: #b5baad;
  --muted: #b5baad;
  --dim: #888f80;
  --red: #cefa69;
  --red-h: #ddff95;
  --red-faint: rgba(206, 250, 105, .11);
  --green: #cefa69;
  --green-bg: rgba(206, 250, 105, .11);
  --accent: #cefa69;
  --accent-h: #ddff95;
  --yellow: #e4bc62;
  --yellow-bg: rgba(228, 188, 98, .12);
  --purple: var(--accent);
  --purple-h: var(--accent-h);
  --pink: var(--accent);
  --magenta: #f19171;
  --shadow: 0 18px 44px rgba(0, 0, 0, .23);
}

html { background: #10110f; color-scheme: dark; }
body { background: #10110f; color: var(--text); font-family: var(--sans); }

#flow-header.app-header {
  position: sticky;
  top: 0;
  z-index: 50;
  padding: 0;
  background: rgba(16, 17, 15, .94);
  border-bottom: 1px solid var(--border);
  backdrop-filter: blur(12px);
}
.app-header-top.site-in {
  max-width: var(--maxw, 1360px);
  min-height: 92px;
  padding: 16px 64px;
}
.app-header .site-nav { margin-left: auto; }
.app-header .conn-group {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .55rem;
  margin-left: .4rem;
}
.app-header .brand { flex: none; }

.app-flow-band { border-top: 1px solid var(--border); background: #151713; }
.flow-header-inner {
  max-width: var(--maxw, 1360px);
  margin: 0 auto;
  padding: .75rem 64px .82rem;
}
.flow-top { margin: 0; }
.flow-brand {
  color: var(--accent);
  font-family: var(--mono);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.flow-brand span { color: inherit; letter-spacing: inherit; }
#flow-progress { color: var(--ink-2, var(--muted)); font-family: var(--mono); font-size: .75rem; font-weight: 500; }
#flow-nav {
  display: flex;
  flex-wrap: wrap;
  gap: .3rem 1.1rem;
  margin: .6rem 0 .5rem;
  font-family: var(--mono);
  font-size: .69rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
}
#flow-nav button {
  min-height: auto;
  padding: .12rem 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  color: var(--dim);
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
}
#flow-nav button:hover:not(:disabled) { background: transparent; color: var(--accent); }
#flow-nav button.here { color: var(--accent); border-bottom: 1px solid var(--accent); }
#flow-nav button.locked, #flow-nav button.locked:hover { color: #5a5f55; }
#flow-nav .nav-sep { color: #51564d; }
#flow-bar { height: 4px; background: #30342d; }
#flow-bar::-webkit-progress-bar { background: #30342d; }
#flow-bar::-webkit-progress-value { background: var(--accent); }
#flow-bar::-moz-progress-bar { background: var(--accent); }
#flow-stepper { gap: 5px; margin-top: .55rem; }
.flow-dot { background: #363b33; }
.flow-dot.active, .flow-dot.done { background: var(--accent); }
#review-banner { background: rgba(228, 188, 98, .1); color: var(--yellow); border-color: rgba(228, 188, 98, .42); }

.device-pill {
  background: #20241d;
  border-color: var(--line-2, var(--border-2));
  color: var(--text);
}
.pill-dot, .pill-dot.adb { background: var(--accent); }
.pill-dot.off { background: var(--danger, #f19171); }
#btn-reconnect, #btn-start-over { min-height: 36px; }

#resume-banner {
  max-width: 860px;
  background: var(--green-bg);
  border-color: rgba(206, 250, 105, .38);
  color: var(--accent);
}
main { max-width: 860px; padding: 3.1rem 36px 5rem; }
.stage h1 {
  color: var(--text);
  font-family: var(--serif);
  font-size: clamp(2.2rem, 5vw, 3.45rem);
  font-weight: 600;
  letter-spacing: -.035em;
}
.stage-sub, .prep-body p, .pf-txt, .recommend-item p, .next-steps > p, .next-steps li { color: var(--muted); }
.stage.stage-past { border-color: var(--border); }

.btn, button {
  background: var(--accent);
  border-color: var(--accent);
  border-radius: 5px;
  color: #13170d;
}
.btn:hover:not(:disabled), button:hover:not(:disabled) { background: var(--accent-h); border-color: var(--accent-h); color: #10140c; }
.btn-ghost { background: transparent; border-color: var(--border-2); color: var(--text); }
.btn-ghost:hover:not(:disabled) { background: #282d24; border-color: #68705f; color: var(--text); }
.btn:disabled, button:disabled { background: #252923; border-color: #363b33; color: #858b7e; }

.info-panel, .consent-row, .next-steps, .protect-profile, .device-pill,
.prep-diagram, .app-item, .recommend-item, .audit-row, .card {
  background: var(--surface);
  border-color: var(--border-2);
  color: var(--text);
}
.info-panel.ok, .final-check.ok { border-color: rgba(206, 250, 105, .48); }
.protect-profile.selected { background: rgba(206, 250, 105, .09); border-color: var(--accent); }
.run-all-card { background: rgba(206, 250, 105, .07); border-color: rgba(206, 250, 105, .5); }
.run-progress, .rp-row, .protect-features, .pf-row, .prep-step, .toggle-row { border-color: var(--border); }
.prep-num { background: #262b23; border-color: var(--border-2); color: var(--accent); }
.pf-row[data-pf="app"] .pf-mark, .app-badge.fdroid { color: var(--accent); background: rgba(206, 250, 105, .12); }
.pf-row[data-pf="auto"] .pf-mark, .final-check.ok, .status-line.ok { color: var(--accent); }
.pf-row[data-pf="defer"] .pf-mark, .final-check.warn { color: var(--yellow); background: var(--yellow-bg); }
.harden-status.failed, .audit-row.bad .a-st, .status-line.error { color: #f19171; }
.upsell { background: linear-gradient(135deg, #20251b, #171a14 70%); border-color: var(--accent); }
.upsell h3, .next-steps h3, .protect-subhead, .prep-body h3, .info-panel h3 { color: var(--text); }
.app-badge.direct, .recommend-item code { color: var(--accent); background: rgba(206, 250, 105, .1); }

#pd-help-btn { background: var(--accent) !important; color: #11150b !important; }
#pd-help-panel { background: #191c17 !important; color: var(--text) !important; border-color: var(--border) !important; }
#pd-help-panel p { color: var(--muted) !important; }
#pd-help-panel input, #pd-help-panel textarea { background: #10120e !important; color: var(--text) !important; border-color: var(--border-2) !important; }
.pd-help-actions button { background: var(--accent) !important; color: #11150b !important; }
.pd-help-actions button.ghost { background: transparent !important; color: var(--text) !important; border-color: var(--border-2) !important; }

@media (max-width: 1040px) {
  .app-header-top.site-in, .flow-header-inner { padding-inline: 36px; }
  .app-header .site-nav { gap: 18px; }
}
@media (max-width: 760px) {
  .app-header-top.site-in { min-height: 76px; padding: 14px 22px; }
  .app-header .site-nav { margin-left: auto; }
  .app-header .site-nav a:not(.btn) { display: none; }
  .app-header .conn-group { display: none; }
  .flow-header-inner { padding: .68rem 22px .76rem; }
  .flow-top { align-items: baseline; }
  #flow-progress { font-size: .68rem; text-align: right; }
  #flow-nav { gap: .32rem .7rem; font-size: .61rem; }
  main { padding: 2.35rem 22px 4rem; }
  .stage h1 { font-size: clamp(2rem, 10vw, 2.85rem); }
}
