@tailwind base;@tailwind components;@tailwind utilities;:root{--ink:#0f1923;--gold:#c9a84c;--gold-lt:#e8d5a3;--cream:#f9f7f4;--muted:#6b7280;--rule:#e5e0d8;--surface:#fff;--font-display:"Playfair Display",Georgia,serif;--font-body:"DM Sans",system-ui,sans-serif;--font-mono:"IBM Plex Mono","Courier New",monospace}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased}.font-display{font-family:var(--font-display)}.font-mono{font-family:var(--font-mono)}.btn-primary{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:#fff;font-family:var(--font-body);font-size:14px;font-weight:500;padding:10px 20px;border-radius:6px;border:none;cursor:pointer;transition:opacity .15s;text-decoration:none}.btn-primary:hover{opacity:.85}.btn-primary:active{opacity:.7}.btn-ghost{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--ink);font-family:var(--font-body);font-size:14px;font-weight:500;padding:10px 20px;border-radius:6px;border:1px solid var(--rule);cursor:pointer;transition:border-color .15s;text-decoration:none}.btn-ghost:hover{border-color:var(--muted)}.card{background:var(--surface);border:1px solid var(--rule);border-radius:12px;padding:24px}.label{font-size:10px;font-weight:500;letter-spacing:2px;text-transform:uppercase}.hash,.label{color:var(--muted)}.hash{font-family:var(--font-mono);font-size:12px;word-break:break-all;line-height:1.6}.gold-rule{border:none;border-top:1px solid var(--gold);opacity:.4;margin:24px 0}.badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;padding:3px 10px;border-radius:20px}.badge-complete{background:#eaf3de;color:#3b6d11}.badge-pending{background:#faeeda;color:#854f0b}.badge-disputed{background:#fcebeb;color:#a32d2d}.badge-anchored{background:#e1f5ee;color:#0f6e56}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fadeUp .4s ease forwards}@keyframes pulse-gold{0%,to{box-shadow:0 0 0 0 rgba(201,168,76,.3)}50%{box-shadow:0 0 0 8px rgba(201,168,76,0)}}.pulse-gold{animation:pulse-gold 2s ease-in-out infinite}