/* BPI demo site — one stylesheet, no framework, no build step. */

:root{
  --red:#9E1B32; --dark:#6E0F22; --gold:#F2A900; --gold-d:#c98a00;
  --ink:#15171c; --mut:#6b7280; --line:#e6e8ec; --bg:#f7f8fa; --card:#fff;
  --ok:#137a4b; --okbg:#e7f6ee;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
     color:var(--ink);background:var(--bg);padding-bottom:60px}

/* ---------- persistent training notice - never remove, every page must say it is a demo ------- */
.notice{background:#fff3cd;color:#6b4e00;border-bottom:1px solid #f0dfa4;
        padding:8px 20px;font-size:13px;text-align:center;font-weight:500;letter-spacing:.1px}

/* ---------- header ------------------------------------------------------- */
header.site{background:linear-gradient(135deg,var(--dark),var(--red));color:#fff;
            padding:0 24px;display:flex;align-items:center;gap:28px;min-height:66px;flex-wrap:wrap}
header.site .logo{display:flex;align-items:baseline;gap:10px;text-decoration:none;color:#fff}
header.site .mark{font-size:26px;font-weight:800;letter-spacing:1px}
header.site .tagline{font-size:12px;opacity:.8;letter-spacing:.2px}
header.site nav{display:flex;gap:22px;margin-left:auto}
header.site nav a{color:#fff;text-decoration:none;font-size:14.5px;opacity:.86;
                  padding:22px 0 20px;border-bottom:3px solid transparent}
header.site nav a:hover{opacity:1}
header.site nav a.on{opacity:1;border-bottom-color:var(--gold);font-weight:600}
header.site .fresh{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.3);
                   border-radius:8px;padding:6px 13px;font-size:13px;cursor:pointer}
header.site .fresh:hover{background:rgba(255,255,255,.24)}

/* ---------- layout ------------------------------------------------------- */
main{max-width:1080px;margin:0 auto;padding:30px 24px 40px}
.hero{background:linear-gradient(120deg,var(--dark),var(--red) 65%,#c0405a);
      color:#fff;border-radius:16px;padding:46px 44px;margin-bottom:28px}
.hero h1{margin:0 0 12px;font-size:36px;line-height:1.2;font-weight:720;max-width:16ch}
.hero p{margin:0 0 22px;font-size:17px;opacity:.92;max-width:52ch}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px 24px}
.card h3{margin:0 0 8px;font-size:17px}
.card p{margin:0 0 14px;color:var(--mut);font-size:14.5px}
.section{margin:34px 0 16px;font-size:13px;text-transform:uppercase;letter-spacing:.9px;color:var(--mut);
         font-weight:650}

/* ---------- buttons ------------------------------------------------------ */
.btn{display:inline-block;background:var(--gold);color:#3d2c00;border:none;border-radius:9px;
     padding:12px 24px;font-size:15px;font-weight:680;cursor:pointer;text-decoration:none;
     font-family:inherit}
.btn:hover{background:var(--gold-d)}
.btn.ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.6)}
.btn.ghost:hover{background:rgba(255,255,255,.14)}
.btn.sec{background:#fff;color:var(--red);border:1.5px solid var(--line)}
.btn.sec:hover{border-color:var(--red)}
.btn:disabled{opacity:.45;cursor:not-allowed}

/* ---------- application wizard ------------------------------------------ */
.wizard{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.steps{display:flex;background:#fafbfc;border-bottom:1px solid var(--line);overflow-x:auto}
.steps .s{flex:1;min-width:132px;padding:15px 12px;text-align:center;font-size:12.5px;color:var(--mut);
          border-bottom:3px solid transparent;position:relative}
.steps .s .n{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;
             background:#e6e8ec;color:#7a808a;font-size:12px;font-weight:700;margin-bottom:5px}
.steps .s.on{color:var(--ink);font-weight:650;border-bottom-color:var(--red);background:#fff}
.steps .s.on .n{background:var(--red);color:#fff}
.steps .s.done .n{background:var(--ok);color:#fff}
.steps .s.done{color:var(--ok)}
.pane{padding:30px 34px;display:none}
.pane.on{display:block}
.pane h2{margin:0 0 6px;font-size:22px}
.pane .lead{color:var(--mut);margin:0 0 22px;font-size:14.5px}
.field{margin-bottom:17px}
.field label{display:block;font-size:13.5px;font-weight:620;margin-bottom:5px}
.field input,.field select{width:100%;padding:11px 13px;border:1px solid var(--line);
                           border-radius:9px;font:inherit;font-size:15px;background:#fff}
.field input:focus,.field select:focus{outline:none;border-color:var(--red)}
.field .hint{font-size:12px;color:var(--mut);margin-top:4px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:640px){.two{grid-template-columns:1fr}}
.actions{display:flex;gap:12px;align-items:center;margin-top:26px;padding-top:20px;
         border-top:1px solid var(--line)}
.actions .spacer{flex:1}
.walk{font-size:12.5px;color:var(--mut);font-style:italic}
.summary{background:#fafbfc;border:1px solid var(--line);border-radius:10px;padding:16px 18px;
         font-size:14px;margin-bottom:20px}
.summary div{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px solid #eef0f3}
.summary div:last-child{border-bottom:none}
.summary .k{color:var(--mut)}
.done-box{background:var(--okbg);border:1px solid #bfe5d1;color:var(--ok);border-radius:12px;
          padding:26px 28px;text-align:center}
.done-box h2{margin:0 0 8px;color:var(--ok)}

/* ---------- identity inspector (bottom right) ---------------------------- */
.inspector{position:fixed;right:16px;bottom:16px;width:400px;background:#11141a;color:#d7dbe0;
           border-radius:13px;box-shadow:0 12px 40px rgba(0,0,0,.36);overflow:hidden;z-index:900;
           font:12.5px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace}
.inspector.wide{width:560px}
.inspector .hd{background:#1b1f27;padding:9px 13px;display:flex;align-items:center;gap:10px;
               cursor:default;user-select:none}
.inspector .hd .ttl{font-weight:700;font-size:11.5px;letter-spacing:.8px;text-transform:uppercase;
                    color:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.inspector .status{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:11px;color:#8b93a1}
.inspector .status .dot{width:7px;height:7px;border-radius:50%;background:#6b7280;display:inline-block}
.inspector .status.ok .dot{background:#34d399;box-shadow:0 0 7px #34d399}
.inspector .status.ok .txt{color:#34d399}
.inspector .status.bad .dot{background:#f59e0b}
.inspector .status.bad .txt{color:#f59e0b}
.inspector .min{background:transparent;border:1px solid #2c323d;color:#8b93a1;
                border-radius:6px;width:22px;height:22px;line-height:1;cursor:pointer;font-size:14px}
.inspector .min:hover{color:#fff;border-color:#4b5563}
.inspector.collapsed .bd{display:none}
.inspector .bd{padding:11px 13px 13px}

.inspector .idbox{background:#171b22;border:1px solid #232833;border-radius:9px;padding:9px 11px;
                  margin-bottom:9px}
.inspector .row{display:flex;align-items:baseline;gap:9px;padding:3px 0}
.inspector .row .k{color:#6b7280;min-width:78px;font-size:11.5px}
.inspector .row .v{color:#e5e7eb;word-break:break-all;flex:1}
.inspector .row .v.ecid{color:#ffd479;font-weight:700;letter-spacing:.3px}
.inspector .cp{background:#232833;border:none;color:#8b93a1;border-radius:5px;padding:2px 8px;
               font-size:10.5px;cursor:pointer;font-family:inherit}
.inspector .cp:hover{color:#fff;background:#2f3644}
.inspector .tag{display:inline-block;background:#232833;color:#9aa3b0;border-radius:5px;
                padding:1px 7px;font-size:10.5px;font-weight:700;letter-spacing:.3px}
.inspector .tag.on{background:#0f3d2b;color:#34d399}
.inspector .tag.off{background:#2a2119;color:#a1815a}
.inspector b.anon{color:#a1815a;letter-spacing:.5px}
.inspector b.known{color:#34d399;letter-spacing:.5px}
.inspector .sm{color:#6b7280;font-size:11px}

.inspector .stitch{display:none;background:#0f3d2b;border:1px solid #1c6647;border-radius:9px;
                   padding:10px 12px;margin-bottom:9px;color:#b9f2d5;font-size:11.5px;line-height:1.65}
.inspector .stitch.show{display:block;animation:stitchIn .45s ease-out}
.inspector .stitch .sh{color:#34d399;font-weight:800;letter-spacing:1px;margin-bottom:5px;font-size:11px}
.inspector .stitch b{color:#fff}
.inspector .stitch .sm{color:#6f9d87;margin-top:5px;display:block}
@keyframes stitchIn{from{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}

.inspector .lbl{color:#6b7280;font-size:10.5px;text-transform:uppercase;letter-spacing:.8px;
                margin:0 0 4px 2px}
.inspector .ls{overflow-y:auto;max-height:min(30vh,240px);background:#0d1015;border-radius:8px;
               padding:5px 0}
.inspector .ln{padding:3px 11px;border-bottom:1px solid #14181f;word-break:break-word}
.inspector .ln:last-child{border-bottom:none}
.inspector .ln .t{color:#4b5563;margin-right:9px}
.inspector .ln.ok{color:#6ee7a8}
.inspector .ln.step{color:#ffd479;font-weight:700}
.inspector .ln.stitch{color:#34d399;font-weight:800}
.inspector .ln.warn{color:#ff9d9d}
.inspector .ln.muted{color:#6b7280}
@media(max-width:820px){.inspector{display:none}}

/* ---------- footer ------------------------------------------------------- */
footer.site{max-width:1080px;margin:0 auto;padding:26px 24px 10px;color:var(--mut);font-size:12.5px;
            border-top:1px solid var(--line);line-height:1.8}
