:root{--ink: #241910;--cream: #f4efe6;--paper: #fffaf4;--line: #e4d8c8;--fox: #c4452d;--moss: #246454;--muted: #6f645b;--shadow: 0 30px 70px rgba(36, 25, 16, .14);color:var(--ink);background:var(--cream);font-family:Outfit,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input{font:inherit}.shell{min-height:100vh;display:grid;grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr)}.intro{background:radial-gradient(circle at top left,rgba(196,69,45,.35),transparent 32%),var(--ink);color:#f6efe4;padding:48px 40px;display:flex;flex-direction:column;justify-content:space-between;gap:32px}.mark{width:72px;height:72px}.eyebrow{margin:28px 0 0;letter-spacing:.16em;text-transform:uppercase;font-size:.78rem;color:#e7b2a6}h1{font-family:Fraunces,Georgia,serif;font-size:clamp(3rem,6vw,5.4rem);font-weight:560;line-height:.9;margin:8px 0 16px}.lede{max-width:34rem;font-size:1.12rem;line-height:1.5;color:#f0e4d4}.steps{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:10px}.steps li{display:flex;gap:12px;align-items:center;color:#b7aa9e}.steps li span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;border:1px solid #6d5c50;font-size:.85rem}.steps li.active{color:#fff8ef}.steps li.active span{background:var(--fox);border-color:var(--fox)}.bridge{margin:0;font-size:.95rem;color:#d9cbbd}.bridge i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;background:#a89888}.bridge.online i{background:#7dcea0}.panel{display:grid;place-items:center;padding:32px 20px}.card{width:min(100%,460px);background:var(--paper);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);padding:32px 28px}.card h2{font-family:Fraunces,Georgia,serif;font-size:2rem;font-weight:560;margin:0 0 8px}.card p{color:var(--muted);line-height:1.5}.card .error{color:#7a2618;background:#fde8e2}.card .note{color:var(--ink);background:#f3ebe1}.card .preview{color:#1d4d40;background:#e7f3ee}.card .who{color:var(--ink)}label{display:block;font-weight:600;margin:18px 0 8px}input[type=text]{width:100%;border:1px solid #d9cbb8;background:#fff;border-radius:14px;padding:14px 16px;color:var(--ink)}input:focus,button:focus-visible{outline:3px solid rgba(196,69,45,.35);outline-offset:2px}.roles{display:grid;gap:10px;margin-top:8px}.role{text-align:left;border:1px solid var(--line);background:#fff;border-radius:16px;padding:14px 16px;cursor:pointer}.role strong{display:block;font-size:1.05rem}.role small{color:var(--muted)}.role.selected{border-color:var(--fox);box-shadow:inset 0 0 0 1px var(--fox)}.actions{display:flex;gap:10px;margin-top:18px}button.primary,button.secondary{border:0;border-radius:999px;padding:12px 18px;cursor:pointer}button.primary{background:var(--fox);color:#fff}button.primary:disabled{opacity:.55;cursor:wait}button.secondary{background:#fff;color:var(--ink);border:1px solid #d9cbb8}.note,.error,.preview{border-radius:14px;padding:12px 14px;line-height:1.45}.note{background:#f3ebe1;color:var(--ink)}.error{background:#fde8e2;color:#7a2618}.preview{background:#e7f3ee;color:#1d4d40;margin-bottom:12px}.who{margin-top:0;color:var(--ink)}.facts{display:grid;grid-template-columns:7.5rem 1fr;gap:8px 12px;margin:18px 0}.facts dt{color:var(--muted)}.facts dd{margin:0;font-weight:600}.code{letter-spacing:.28em;font-size:1.3rem;text-align:center}@media(max-width:800px){.shell{grid-template-columns:1fr}.intro{padding:28px 22px 24px}h1{font-size:3.4rem}.panel{padding:18px 14px 32px}.card{padding:24px 18px}}
