:root{
  --bg:#f4f6f8; --card:#ffffff; --ink:#111827; --muted:#6b7280; --line:#d7dde5;
  --blue:#1f4e79; --blue2:#163d60; --red:#b42318; --orange:#b54708; --green:#087443; --yellow:#b7791f; --purple:#53389e;
  --shadow:0 10px 25px rgba(15,23,42,.08); --radius:18px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.45}
.app-shell{max-width:1180px;margin:0 auto;padding:calc(18px + env(safe-area-inset-top)) 14px 28px}.topbar{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;background:linear-gradient(135deg,var(--blue),#374151);color:#fff;border-radius:24px;padding:22px;box-shadow:var(--shadow);margin-bottom:14px}.topbar h1{font-size:clamp(1.35rem,4vw,2.4rem);line-height:1.1;margin:.15rem 0}.eyebrow{text-transform:uppercase;letter-spacing:.08em;opacity:.8;font-size:.75rem;font-weight:700;margin:0}.version{margin:.4rem 0 0;color:#dbeafe;font-size:.9rem}.status-pill{white-space:nowrap;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);padding:8px 10px;border-radius:999px;font-weight:700;font-size:.8rem}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;margin:14px 0}.card h2{margin:0 0 .65rem;font-size:1.22rem}.card h3{margin:1rem 0 .45rem;font-size:1rem}.muted{color:var(--muted)}.callout{border-left:5px solid var(--blue);background:#eef6ff;padding:12px;border-radius:10px;margin-top:10px}.callout.lock{border-color:#7c3aed;background:#f5f3ff}.toolbar{display:flex;flex-wrap:wrap;gap:8px}.toolbar button,.file-button{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:12px;padding:10px 12px;font-weight:700;cursor:pointer}.toolbar button.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.toolbar button:hover,.file-button:hover{filter:brightness(.97)}.file-button input{display:none}details summary{font-weight:800;cursor:pointer;font-size:1.05rem}code{background:#f3f4f6;padding:2px 5px;border-radius:5px;word-break:break-all}.input-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.input-section{border:1px solid var(--line);border-radius:15px;padding:14px;background:#fbfcfd}.input-section h3{margin-top:0}.field{margin:10px 0}.field label{display:block;font-weight:700;font-size:.9rem;margin-bottom:5px}.field select,.field input{width:100%;font:inherit;border:1px solid #cbd5e1;border-radius:12px;padding:10px;background:#fff}.numeric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.results-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.scenario{border:1px solid var(--line);border-radius:14px;padding:12px;margin:10px 0}.scenario h3{margin:0 0 4px}.badge{display:inline-block;border-radius:999px;padding:4px 8px;font-weight:800;font-size:.75rem;margin:4px 0}.badge.critical,.badge.high,.badge.eliminated{background:#fee4e2;color:var(--red)}.badge.medium,.badge.investigative,.badge.warning{background:#fffaeb;color:var(--orange)}.badge.supported,.badge.clean{background:#dcfae6;color:var(--green)}.badge.open{background:#eef4ff;color:var(--blue)}.badge.low{background:#f2f4f7;color:#344054}.badge.z{background:#fef3f2;color:#b42318}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.metric{background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:12px}.metric .label{font-size:.76rem;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.04em}.metric .value{font-size:1.25rem;font-weight:900;margin-top:4px}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:9px}th{background:#f8fafc;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}tr:hover td{background:#fbfdff}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px}.memo-source{white-space:pre-wrap;max-height:520px;overflow:auto;background:#0b1220;color:#e5e7eb;padding:14px;border-radius:14px;font-size:.82rem}.hidden{display:none!important}
@media(max-width:800px){.app-shell{padding-left:10px;padding-right:10px}.topbar{display:block;border-radius:20px}.status-pill{display:inline-block;margin-top:10px}.input-grid,.results-grid,.numeric-grid,.metric-grid{grid-template-columns:1fr}.card{padding:14px;border-radius:16px}.toolbar button,.file-button{flex:1 1 100%;text-align:center}.table-wrap{margin-left:-4px;margin-right:-4px;border-left:0;border-right:0;border-radius:0}table{font-size:.82rem}th,td{padding:8px 7px}.metric .value{font-size:1.15rem}}
@media print{.toolbar,.topbar .status-pill,#memoSource{display:none}.app-shell{max-width:none}.card{box-shadow:none;break-inside:avoid}.topbar{color:#111;background:#fff;border:1px solid #ccc}}

/* v5 evidence intake layer */
.intake-card { border-left: 5px solid #7c3aed; }
.tip-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 14px; }
.field.full { grid-column: 1 / -1; }
.field textarea { width:100%; border:1px solid #cbd5e1; border-radius:10px; padding:10px; font: inherit; background:#fff; color:#111827; }
.checkbox-list { display:grid; gap:8px; padding:10px; border:1px solid #cbd5e1; border-radius:10px; background:#fff; }
.checkbox-list label { display:flex; align-items:flex-start; gap:8px; font-weight:500; }
.callout.warning { background:#fff7ed; border-left:4px solid #f97316; color:#7c2d12; }
.intake-toolbar { flex-wrap: wrap; }
.submit-status { margin-top:12px; padding:10px; border-radius:10px; background:#f8fafc; color:#334155; white-space:pre-wrap; }
@media (max-width: 640px){ .tip-grid { grid-template-columns: 1fr; } .field.full { grid-column:auto; } }


/* v6 critical-gap intake / legitimacy triage */
.tip-quality-panel{margin-top:1rem;border:1px solid #d1d5db;border-radius:14px;background:#f9fafb;padding:1rem}
.tip-quality-panel h3{margin-top:0}
.score-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.75rem;margin:.75rem 0}
.score-card{border:1px solid #e5e7eb;border-radius:12px;background:#fff;padding:.75rem}
.score-card .score-label{font-size:.8rem;color:#6b7280;text-transform:uppercase;letter-spacing:.04em}
.score-card .score-value{font-size:1.35rem;font-weight:800;margin-top:.2rem}
.score-card.good .score-value{color:#047857}
.score-card.warn .score-value{color:#b45309}
.score-card.bad .score-value{color:#b91c1c}
.signal-list{margin:.5rem 0 0 1rem;padding:0}
.signal-list li{margin:.25rem 0}
.critical-gap-box{border:1px solid #dbeafe;background:#eff6ff;border-radius:12px;padding:.75rem;margin:.75rem 0}
.critical-gap-box strong{display:block;margin-bottom:.3rem}
.checkgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.35rem .75rem;margin-top:.4rem}
.checkgrid label{display:flex;gap:.4rem;align-items:flex-start;font-weight:500;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:.45rem .55rem}
.verification-note{font-size:.88rem;color:#374151;background:#fff7ed;border-left:4px solid #f59e0b;padding:.75rem;border-radius:8px}


/* v7 organized intake layout */
.intake-card h2{margin-bottom:.35rem}
.intake-card > .muted{max-width:900px}
.intake-flow{display:grid;gap:1rem;margin-top:.5rem}
.intake-step-banner{display:flex;gap:1rem;align-items:flex-start;border:1px solid #c7d2fe;background:linear-gradient(135deg,#eef2ff,#f8fafc);border-radius:16px;padding:1rem}
.intake-step-banner h3{margin:.15rem 0 .35rem;font-size:1.05rem}.intake-step-banner p{margin:0;color:#374151}.step-kicker{display:inline-block;text-transform:uppercase;letter-spacing:.07em;color:#4338ca;font-size:.72rem;font-weight:900}
.step-card{border:1px solid #d7dde5;background:#fff;border-radius:16px;padding:1rem;box-shadow:0 4px 14px rgba(15,23,42,.04)}
.step-title{display:flex;gap:.75rem;align-items:flex-start;margin-bottom:.75rem}
.step-title>span{display:grid;place-items:center;flex:0 0 auto;width:30px;height:30px;border-radius:999px;background:#1f4e79;color:#fff;font-weight:900}
.step-title h3{margin:0;font-size:1.02rem}.step-title p{margin:.18rem 0 0;color:#6b7280;font-size:.9rem}
.two-col-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1rem}.single-col-fields{display:grid;grid-template-columns:1fr;gap:.75rem}.label-note{font-weight:600;color:#6b7280;font-size:.78rem}
.endpoint-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem}.endpoint-card{display:flex;gap:.65rem;align-items:flex-start;border:1px solid #dbeafe;background:#f8fbff;border-radius:14px;padding:.85rem;cursor:pointer;min-height:128px}.endpoint-card input{width:auto;margin-top:.18rem}.endpoint-card strong{display:block;margin:.2rem 0;color:#111827}.endpoint-card p{margin:.25rem 0 0;color:#4b5563;font-size:.88rem}.endpoint-card:has(input:checked){border-color:#1f4e79;background:#eef6ff;box-shadow:0 0 0 2px rgba(31,78,121,.08)}
.endpoint-tag{display:inline-block;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;font-weight:900;color:#1f4e79;background:#e0f2fe;border-radius:999px;padding:.18rem .45rem}
.prompt-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.75rem}.prompt-card{border:1px solid #e5e7eb;background:#fafafa;border-radius:14px;padding:.85rem}.prompt-card h4{margin:.4rem 0 .4rem}.prompt-card p{margin:.35rem 0;color:#374151;font-size:.88rem}.prompt-card p strong{color:#111827}
.evidence-checkgrid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.evidence-checkgrid label{min-height:54px;align-items:flex-start}.evidence-checkgrid label:has(input:checked){border-color:#087443;background:#ecfdf3}.file-drop-field{border:1px dashed #94a3b8;background:#f8fafc;border-radius:14px;padding:.85rem}.file-drop-field small{display:block;color:#6b7280;margin-top:.35rem}.ack-box{border:1px solid #f59e0b;background:#fffbeb;border-radius:14px;padding:.9rem;font-weight:700}.ack-box label{display:flex;gap:.55rem;align-items:flex-start}.ack-box input{width:auto;margin-top:.18rem}
.tip-quality-panel{border-left:5px solid #1f4e79}.tip-quality-panel h3{font-size:1.05rem}.score-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.score-card{min-height:92px}.signal-columns{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:.5rem}.signal-block{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:.85rem}.signal-block strong{display:block;margin-bottom:.25rem}
@media(max-width:800px){.two-col-fields,.score-grid,.signal-columns{grid-template-columns:1fr}.endpoint-card-grid,.prompt-card-grid{grid-template-columns:1fr}.step-card{padding:.85rem}.endpoint-card{min-height:auto}.intake-step-banner{padding:.85rem}.step-title{gap:.55rem}.step-title>span{width:28px;height:28px}.prompt-card p{font-size:.86rem}}

.auth-gate-box{border:1px solid #b8c7e0;background:#f4f8ff;border-radius:14px;padding:14px;margin:4px 0 12px 0;}
.auth-gate-box p{margin:6px 0 10px 0;color:#334155;font-size:.94rem;}
.auth-gate-box input{width:100%;box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;}

/* v8 Walk Card user-app gate */
.walk-card-status-card { border-left: 5px solid #0f766e; }
.assignment-box { margin-top: .75rem; padding: .75rem; border: 1px solid #d1d5db; border-radius: 12px; background: #f9fafb; }
.assignment-grid { display:grid; grid-template-columns: repeat(auto-fit,minmax(180px,1fr)); gap:.5rem; }
.assignment-grid div { background:#fff; border:1px solid #e5e7eb; border-radius:10px; padding:.5rem; }
.walk-card-blocker { position: fixed; inset: 0; z-index: 9999; background: rgba(15,23,42,.96); color:#fff; display:flex; align-items:center; justify-content:center; padding:1.25rem; }
.walk-card-blocker-inner { max-width:720px; background:#111827; border:1px solid #374151; border-radius:18px; padding:1.25rem; box-shadow: 0 20px 60px rgba(0,0,0,.35); }
.walk-card-blocker code { background:#0b1220; border:1px solid #334155; border-radius:6px; padding:.1rem .25rem; }
.walk-card-expired { border-left-color:#b91c1c; }
.walk-card-valid { border-left-color:#15803d; }
.walk-card-pending { border-left-color:#f59e0b; }

/* SELWAY LEGAL SIGNIFICANCE ACCORDIONS - LOCAL REVISION */
.legal-significance-shell {
  margin: 1rem 0 1.25rem;
  border: 1px solid rgba(127, 127, 127, 0.38);
  border-radius: 12px;
  background: rgba(127, 127, 127, 0.055);
  overflow: hidden;
}

.legal-significance-shell > summary,
.legal-subsection > summary {
  position: relative;
  cursor: pointer;
  list-style: none;
  padding: 0.95rem 3rem 0.95rem 1rem;
  font-weight: 700;
  line-height: 1.35;
}

.legal-significance-shell > summary::-webkit-details-marker,
.legal-subsection > summary::-webkit-details-marker {
  display: none;
}

.legal-significance-shell > summary::after,
.legal-subsection > summary::after {
  content: "+";
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.35rem;
  font-weight: 700;
}

.legal-significance-shell[open] > summary::after,
.legal-subsection[open] > summary::after {
  content: "-";
}

.legal-significance-shell > summary {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  font-size: 1.05rem;
}

.legal-significance-shell > summary small {
  font-size: 0.82rem;
  font-weight: 500;
  opacity: 0.78;
}

.legal-significance-shell > summary:hover,
.legal-subsection > summary:hover {
  background: rgba(127, 127, 127, 0.08);
}

.legal-significance-body {
  padding: 0 0.85rem 0.9rem;
}

.legal-control-note {
  margin: 0.25rem 0 0.85rem;
  padding: 0.9rem 1rem;
  border-left: 4px solid currentColor;
  background: rgba(127, 127, 127, 0.075);
  line-height: 1.55;
}

.legal-subsection {
  margin: 0.6rem 0;
  border: 1px solid rgba(127, 127, 127, 0.3);
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.22);
  overflow: hidden;
}

.legal-subsection > summary {
  font-size: 0.96rem;
}

.legal-subsection-content {
  padding: 0.1rem 1rem 1rem;
  line-height: 1.58;
}

.legal-subsection-content h4 {
  margin: 1rem 0 0.35rem;
}

.legal-subsection-content ul,
.legal-subsection-content ol {
  padding-left: 1.35rem;
}

.legal-subsection-content li {
  margin: 0.35rem 0;
}

.legal-equation {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem;
  margin: 0.9rem 0;
  padding: 0.8rem 1rem;
  border: 1px solid rgba(127, 127, 127, 0.3);
  border-radius: 8px;
  font-size: 1.04rem;
}

.legal-key-question,
.legal-conclusion {
  margin: 0.9rem 0;
  padding: 0.9rem 1rem;
  border-left: 4px solid currentColor;
  background: rgba(127, 127, 127, 0.075);
}

.legal-conclusion {
  font-style: normal;
}

@media (max-width: 700px) {
  .legal-significance-shell > summary,
  .legal-subsection > summary {
    padding-right: 2.65rem;
  }

  .legal-significance-body {
    padding-left: 0.55rem;
    padding-right: 0.55rem;
  }

  .legal-subsection-content {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
}

@media print {
  #legalExposureSignificance,
  #legalExposureSignificance .legal-subsection {
    break-inside: avoid;
  }

  #legalExposureSignificance:not([open]) > *:not(summary),
  #legalExposureSignificance .legal-subsection:not([open]) > *:not(summary) {
    display: block !important;
  }

  #legalExposureSignificance summary::after {
    display: none !important;
  }
}
/* END SELWAY LEGAL SIGNIFICANCE ACCORDIONS */
