:root {
  --bg: #030308;
  --surface: #0a0a14;
  --border: #1a2a44;
  --border-glow: #00d4ff33;
  --accent: #00d4ff;
  --accent-glow: #00d4ff44;
  --text: #c8dce8;
  --text-dim: #5a7a94;
  --text-bright: #e8f4ff;
  --success: #00ff88;
  --surface-2: #0e0e1c;
  --accent-dim: #0099bb;
  --error: #ff4466;
  --warn: #ffaa00;
  --royal: #4169e1;
  --royal-glow: rgba(65, 105, 225, 0.55);
  --royal-soft: rgba(65, 105, 225, 0.28);
  --text-hint: #94b0c8;
  --brand: #4169e1;
  --brand-soft: rgba(65, 105, 225, 0.55);
  --brand-glow: rgba(65, 105, 225, 0.30);
}

/* AEGIS consolidated stylesheet — 2026-09-30 */

/* ===== BASE (note.css) ===== */
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
  background: var(--bg);
  color: var(--text);
  font-family: -apple-system, 'Segoe UI', 'Inter', sans-serif;
  line-height: 1.6;
  min-height: 100vh;
  position: relative;
  overflow-x: hidden;
}
body::before {
  content: '';
  position: fixed;
  top: -50%; left: -50%;
  width: 200%; height: 200%;
  background: radial-gradient(ellipse at 50% 0%, #00d4ff08 0%, transparent 50%);
  animation: pulse 8s ease-in-out infinite;
  pointer-events: none;
  z-index: 0;
}
@keyframes pulse {
  0%, 100% { opacity: 0.5; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.05); }
}
body::after {
  content: '';
  position: fixed;
  inset: 0;
  background-image:
    linear-gradient(var(--border) 1px, transparent 1px),
    linear-gradient(90deg, var(--border) 1px, transparent 1px);
  background-size: 60px 60px;
  opacity: 0.08;
  pointer-events: none;
  z-index: 0;
}
.container {
  position: relative;
  z-index: 1;
  max-width: 640px;
  margin: 0 auto;
  padding: 3rem 1.5rem 4rem;
}
.header { text-align: center; margin-bottom: 3rem; }
.header img {
  width: 100px;
  display: block;
  margin: 0 auto 1.5rem;
  filter: drop-shadow(0 0 15px var(--accent-glow));
}
.header h1 {
  font-size: 2.2rem;
  font-weight: 300;
  letter-spacing: 0.5em;
  color: var(--text-bright);
  text-transform: uppercase;
  margin-bottom: 0.5rem;
  text-shadow: 0 0 30px var(--accent-glow);
}
.header .tagline {
  font-size: 0.7rem;
  letter-spacing: 0.35em;
  color: var(--text-dim);
  text-transform: uppercase;
}
.section {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 1.75rem;
  margin-bottom: 1.5rem;
  position: relative;
  overflow: hidden;
}
.section::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--accent-glow), transparent);
}
.section.highlight {
  border-color: #00d4ff44;
  box-shadow: 0 0 30px #00d4ff10;
}
.section.highlight::before {
  background: linear-gradient(90deg, transparent, #00d4ff88, transparent);
}
.section-label {
  font-size: 0.65rem;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.section-label::after {
  content: '';
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, var(--border), transparent);
}
.intro {
  font-size: 0.85rem;
  color: var(--text-dim);
  margin-bottom: 1.25rem;
  line-height: 1.7;
}
.intro strong { color: var(--text-bright); font-weight: 500; }
/* .format-box removed — note.html now redirects to /#note */
.form-group { margin-bottom: 1.25rem; }
.form-group textarea {
  width: 100%;
  padding: 1rem;
  background: var(--bg);
  border: 1px solid var(--border);
  color: var(--text-bright);
  border-radius: 6px;
  font-size: 0.9rem;
  font-family: 'Courier New', monospace;
  line-height: 1.6;
  resize: vertical;
  min-height: 240px;
  transition: all 0.2s ease;
}
.form-group textarea:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--border-glow), 0 0 15px var(--border-glow);
}
.form-group textarea::placeholder {
  color: var(--text-dim);
  font-family: -apple-system, 'Segoe UI', sans-serif;
}
.options {
  margin-bottom: 1.5rem;
  padding: 1rem 0;
  border-top: 1px solid var(--border);
}
.checkbox {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  cursor: pointer;
  user-select: none;
  padding: 0.35rem 0;
}
.checkbox input[type="checkbox"] {
  flex-shrink: 0;
  margin-top: 0.25rem;
  width: 16px;
  height: 16px;
  accent-color: var(--accent);
  cursor: pointer;
}
.checkbox-body {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}
.checkbox-title {
  color: var(--text-bright);
  font-size: 0.9rem;
  font-weight: 500;
}
.checkbox-hint {
  color: var(--text-dim);
  font-size: 0.72rem;
  line-height: 1.5;
}
.select-group {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-top: 1rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--border);
}
.select-group label {
  color: var(--text-bright);
  font-size: 0.9rem;
  font-weight: 500;
}
.select-group select {
  background: var(--bg);
  color: var(--text-bright);
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 0.55rem 0.9rem;
  font-family: inherit;
  font-size: 0.85rem;
  cursor: pointer;
  transition: all 0.2s ease;
  min-width: 130px;
}
.select-group select:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--border-glow);
}
.submit-btn {
  width: 100%;
  padding: 1rem;
  background: transparent;
  color: var(--accent);
  border: 1px solid var(--accent);
  border-radius: 6px;
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.3s ease;
  margin-top: 0.5rem;
}
.submit-btn:hover {
  background: var(--accent);
  color: var(--bg);
  box-shadow: 0 0 20px var(--accent-glow);
}
.submit-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.status {
  text-align: center;
  font-size: 0.8rem;
  color: var(--text-dim);
  margin-top: 1rem;
  min-height: 1em;
}
.result {
  display: none;
  margin-top: 2rem;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 1.75rem;
}
.result.visible { display: block; }
.result .hint {
  font-size: 0.8rem;
  color: var(--text-dim);
  margin-bottom: 1rem;
}
.result .link {
  display: block;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 0.85rem 1rem;
  font-family: 'Courier New', monospace;
  font-size: 0.75rem;
  color: var(--accent);
  word-break: break-all;
  text-decoration: none;
  margin-bottom: 1rem;
}
.result .link:hover { border-color: var(--accent); }
.copy-btn {
  padding: 0.6rem 1.2rem;
  background: transparent;
  color: var(--accent);
  border: 1px solid var(--accent);
  border-radius: 6px;
  font-size: 0.8rem;
  cursor: pointer;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.copy-btn:hover {
  background: var(--accent);
  color: var(--bg);
}
.copied {
  color: var(--success);
  font-size: 0.8rem;
  margin-left: 0.75rem;
  opacity: 0;
  transition: opacity 0.2s;
}
.copied.visible { opacity: 1; }
/* .content base — patch.css version with animation wins */
.field {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 1rem 1.25rem;
  margin-bottom: 0.75rem;
}
.field-label {
  font-size: 0.65rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 0.4rem;
}
.field-value {
  font-family: 'Courier New', monospace;
  font-size: 0.85rem;
  color: var(--text-bright);
  word-break: break-word;
  white-space: pre-wrap;
  line-height: 1.6;
}
.burn-notice {
  margin-top: 1.25rem;
  padding: 0.75rem 1rem;
  background: #1a0a0a;
  border: 1px solid #ff446633;
  border-radius: 6px;
  font-size: 0.8rem;
  color: #ff4466;
  text-align: center;
  letter-spacing: 0.05em;
}
.burn-notice::before {
  content: '\1F525';
  margin-right: 0.5rem;
}

/* Contact page */
.contact-link {
  display: block;
  padding: 1rem 1.25rem;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 6px;
  text-decoration: none;
  color: var(--text);
  transition: all 0.2s ease;
}
.contact-link:hover {
  border-color: var(--accent);
  box-shadow: 0 0 20px var(--accent-glow);
  transform: translateY(-1px);
}
.contact-link .contact-name {
  display: block;
  color: var(--text-bright);
  font-size: 0.95rem;
  font-weight: 500;
  margin-bottom: 0.25rem;
}
.contact-link .contact-handle {
  display: block;
  font-family: 'Courier New', monospace;
  font-size: 0.8rem;
  color: var(--accent);
  letter-spacing: 0.03em;
}
.contact-footer {
  text-align: center;
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid var(--border);
}
.contact-footer .handle {
  font-size: 0.8rem;
  color: var(--text-dim);
  letter-spacing: 0.1em;
}
.contact-footer .handle strong { color: var(--accent); font-weight: 500; }

@media (max-width: 480px) {
  .container { padding: 2rem 1rem 3rem; }
  .header h1 { font-size: 1.6rem; }
  .section { padding: 1.25rem; }
}
/* PGP fingerprint */
.fingerprint {
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 1rem 1.25rem;
  margin-bottom: 1rem;
}
.fingerprint-label {
  font-size: 0.6rem;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 0.5rem;
}
.fingerprint-value {
  font-family: 'Courier New', monospace;
  font-size: 0.8rem;
  color: var(--text-bright);
  word-break: break-all;
  line-height: 1.7;
  user-select: all;
  cursor: text;
}

/* Onion address row */
.onion-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 0.85rem 1rem;
  transition: border-color 0.2s;
}
.onion-row:hover { border-color: #0099bb; }
.onion-row .onion-value {
  flex: 1;
  min-width: 0;
  font-family: 'Courier New', monospace;
  font-size: 0.75rem;
  color: var(--text);
  word-break: break-all;
  user-select: all;
}
.onion-row .copy-addr {
  flex-shrink: 0;
  background: transparent;
  border: 1px solid var(--border);
  color: var(--text-dim);
  border-radius: 4px;
  padding: 0.4rem 0.8rem;
  font-size: 0.6rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.2s;
  font-family: inherit;
}
.onion-row .copy-addr:hover {
  border-color: var(--accent);
  color: var(--accent);
}
.onion-row .copy-addr.copied {
  border-color: var(--success);
  color: var(--success);
}
@media (max-width: 480px) {
  .onion-row {
    flex-direction: column;
    align-items: stretch;
  }
  .onion-row .copy-addr {
    width: 100%;
    padding: 0.6rem;
  }
}

.contact-footer .footer-link { margin-top: 0.75rem; }
.contact-footer .footer-link a {
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  color: var(--text-dim);
  text-decoration: none;
  border-bottom: 1px solid var(--border);
  padding-bottom: 2px;
  transition: all 0.2s;
}
.contact-footer .footer-link a:hover {
  color: var(--accent);
  border-bottom-color: var(--accent);
}

/* PGP key block + copy button */
.pgp-key-block {
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 1rem 1.25rem;
  font-family: 'Courier New', monospace;
  font-size: 0.7rem;
  line-height: 1.5;
  color: var(--text-dim);
  max-height: 220px;
  overflow-y: auto;
  white-space: pre;
  user-select: all;
  cursor: text;
  margin: 0 0 1rem 0;
}
.pgp-copy-btn {
  padding: 0.6rem 1.2rem;
  background: transparent;
  color: var(--accent);
  border: 1px solid var(--accent);
  border-radius: 6px;
  font-size: 0.8rem;
  cursor: pointer;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-family: inherit;
  transition: all 0.2s;
}
.pgp-copy-btn:hover {
  background: var(--accent);
  color: var(--bg);
  box-shadow: 0 0 20px var(--accent-glow);
}
.pgp-copy-btn.copied {
  border-color: var(--success);
  color: var(--success);
}
.intro code {
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 3px;
  padding: 0.1rem 0.35rem;
  font-family: 'Courier New', monospace;
  font-size: 0.75rem;
  color: var(--accent);
}

/* Payment address rows (plain page) */
.addresses { margin-top: 0.25rem; }
.address-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 0.75rem 1rem;
  margin-bottom: 0.6rem;
  font-family: 'Courier New', monospace;
  font-size: 0.75rem;
  word-break: break-all;
  transition: border-color 0.2s;
}
.address-row:hover { border-color: #0099bb; }
.address-row .label {
  color: var(--accent);
  font-weight: 700;
  font-size: 0.7rem;
  letter-spacing: 0.1em;
  min-width: 3rem;
  flex-shrink: 0;
}
.address-row .value {
  color: var(--text);
  flex: 1;
  min-width: 0;
  user-select: all;
}
.address-row .qr-toggle,
.address-row .copy-addr {
  flex-shrink: 0;
  background: transparent;
  border: 1px solid var(--border);
  color: var(--text-dim);
  border-radius: 4px;
  padding: 0.35rem 0.7rem;
  font-size: 0.6rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.2s;
  font-family: inherit;
}
.address-row .qr-toggle:hover,
.address-row .copy-addr:hover {
  border-color: var(--accent);
  color: var(--accent);
}
.address-row .copy-addr.copied {
  border-color: var(--success);
  color: var(--success);
}
.qr-wrap {
  flex-basis: 100%;
  display: flex;
  justify-content: center;
  padding: 1rem 0 0.25rem;
  animation: qrFade 0.25s ease forwards;
}
@keyframes qrFade {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}
.qr-wrap img {
  display: block;
  background: #ffffff;
  padding: 0.75rem;
  border-radius: 10px;
  box-shadow: 0 0 0 1px #00d4ff33, 0 0 40px #00d4ff22;
}

/* Wallet links + always-visible QR rows */
.wallet-link {
  flex-shrink: 0;
  background: transparent;
  border: 1px solid var(--border);
  color: var(--text-dim);
  border-radius: 4px;
  padding: 0.35rem 0.7rem;
  font-size: 0.6rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  text-decoration: none;
  transition: all 0.2s;
  font-family: inherit;
  white-space: nowrap;
}
.wallet-link:hover {
  border-color: var(--accent);
  color: var(--accent);
}
.qr-row {
  display: flex;
  justify-content: center;
  padding: 0.5rem 0 1rem;
}
.qr-row img {
  display: block;
  background: #ffffff;
  padding: 0.75rem;
  border-radius: 10px;
  box-shadow: 0 0 0 1px #00d4ff33, 0 0 40px #00d4ff22;
  width: 180px;
  height: 180px;
}
@media (max-width: 480px) {
  .qr-row img { width: 160px; height: 160px; }
  .address-row .wallet-link { margin-left: auto; }
}

/* Clickable logo */
.logo-link {
  display: block;
  line-height: 0;
  text-decoration: none;
  color: inherit;
  transition: opacity 0.2s;
}
.logo-link:hover { opacity: 0.85; }
.logo-link:focus { outline: none; }
.logo-link:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 4px;
  border-radius: 4px;
}

/* aegis-margin-classes */
.mt-06  { margin-top: 0.6rem; }
.mt-075 { margin-top: 0.75rem; }
.mt-1   { margin-top: 1rem; }
.mt-125 { margin-top: 1.25rem; }

/* ============================================================

/* ===== HOMEPAGE (index.css) ===== */
* { box-sizing: border-box; margin: 0; padding: 0; }
        body {
            background: var(--bg);
            color: var(--text);
            font-family: -apple-system, 'Segoe UI', 'Inter', sans-serif;
            line-height: 1.6;
            min-height: 100vh;
            position: relative;
            overflow-x: hidden;
        }
        body::before {
            content: '';
            position: fixed;
            top: -50%; left: -50%;
            width: 200%; height: 200%;
            background: radial-gradient(ellipse at 50% 0%, #00d4ff08 0%, transparent 50%);
            animation: pulse 8s ease-in-out infinite;
            pointer-events: none;
            z-index: 0;
        }
        @keyframes pulse {
            0%, 100% { opacity: 0.5; transform: scale(1); }
            50% { opacity: 1; transform: scale(1.05); }
        }
        body::after {
            content: '';
            position: fixed;
            inset: 0;
            background-image:
                linear-gradient(var(--border) 1px, transparent 1px),
                linear-gradient(90deg, var(--border) 1px, transparent 1px);
            background-size: 60px 60px;
            opacity: 0.08;
            pointer-events: none;
            z-index: 0;
        }

        .hero {
            position: relative;
            z-index: 1;
            max-width: 640px;
            margin: 0 auto;
            padding: 3rem 1.5rem 2.5rem;
            text-align: center;
        }
        .hero-logo {
            width: 100px;
            display: block;
            margin: 0 auto 1.5rem;
            filter: drop-shadow(0 0 15px var(--accent-glow));
        }
        .hero-title {
            font-size: 2.4rem;
            font-weight: 400;
            letter-spacing: 0.15em;
            color: var(--text-bright);
            text-transform: uppercase;
            margin-bottom: 0.75rem;
            text-shadow: 0 0 30px var(--accent-glow);
            opacity: 0;
            animation: decode 1.2s ease forwards;
        }
        @keyframes decode {
            0% { opacity: 0; letter-spacing: 0.6em; filter: blur(4px); }
            50% { opacity: 0.5; letter-spacing: 0.3em; filter: blur(1px); }
            100% { opacity: 1; letter-spacing: 0.15em; filter: blur(0); }
        }
        .hero-tagline {
            font-size: 0.7rem;
            letter-spacing: 0.35em;
            color: var(--text-dim);
            text-transform: uppercase;
        }
        .hero-badge {
            display: inline-block;
            margin-top: 1.5rem;
            font-size: 0.7rem;
            letter-spacing: 0.1em;
            color: var(--text-dim);
            border: 1px solid var(--border);
            border-radius: 20px;
            padding: 0.35rem 1rem;
            background: var(--surface);
        }
        .hero-badge::before {
            content: '\25CF';
            color: var(--success);
            margin-right: 0.5rem;
            font-size: 0.5rem;
            vertical-align: middle;
            animation: blink 2s ease-in-out infinite;
        }
        @keyframes blink {
            0%, 100% { opacity: 1; }
            50% { opacity: 0.3; }
        }

        .mini-header {
            position: fixed;
            top: 0; left: 0; right: 0;
            z-index: 100;
            height: 58px;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.7rem;
            background: rgba(3, 3, 8, 0.88);
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
            border-bottom: 1px solid var(--border);
            box-shadow: 0 4px 24px #00000099;
            transform: translateY(-100%);
            opacity: 0;
            pointer-events: none;
            will-change: transform, opacity;
            transition:
                transform 0.42s cubic-bezier(0.32, 0.72, 0, 1),
                opacity 0.28s ease;
        }
        .mini-header.visible {
            transform: translateY(0);
            opacity: 1;
            pointer-events: auto;
        }
        .mini-logo {
            width: 30px;
            display: block;
            filter: drop-shadow(0 0 8px var(--accent-glow));
        }
        .mini-title {
            font-size: 1rem;
            font-weight: 400;
            letter-spacing: 0.28em;
            color: var(--text-bright);
            text-transform: uppercase;
            text-shadow: 0 0 12px var(--accent-glow);
            padding-right: 0.28em;
        }

        .container {
            position: relative;
            z-index: 1;
            max-width: 640px;
            margin: 0 auto;
            padding: 0 1.5rem 4rem;
        }
        .section, .form-section {
            background: var(--surface);
            border: 1px solid var(--border);
            border-radius: 8px;
            padding: 1.75rem;
            margin-bottom: 1.5rem;
            position: relative;
            overflow: hidden;
        }
        .section::before, .form-section::before {
            content: '';
            position: absolute;
            top: 0; left: 0; right: 0;
            height: 1px;
            background: linear-gradient(90deg, transparent, var(--accent-glow), transparent);
        }
        .section-label {
            font-size: 0.65rem;
            letter-spacing: 0.25em;
            text-transform: uppercase;
            color: var(--accent);
            margin-bottom: 1rem;
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }
        .section-label::after {
            content: '';
            flex: 1;
            height: 1px;
            background: linear-gradient(90deg, var(--border), transparent);
        }
        /* .market-prices — removed, superseded by .market-ticker */
        .instructions ol { list-style: none; counter-reset: step; }
        .instructions ol li {
            counter-increment: step;
            padding: 0.6rem 0;
            padding-left: 2.5rem;
            position: relative;
            font-size: 0.9rem;
            border-bottom: 1px solid var(--border);
        }
        .instructions ol li:last-child { border-bottom: none; }
        .instructions ol li::before {
            content: counter(step, decimal-leading-zero);
            position: absolute;
            left: 0;
            top: 0.6rem;
            font-size: 0.75rem;
            font-weight: 600;
            color: var(--accent);
            font-family: 'Courier New', monospace;
        }
        .addresses { margin-top: 1.25rem; }
        .address-row {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            background: var(--bg);
            border: 1px solid var(--border);
            border-radius: 6px;
            padding: 0.75rem 1rem;
            margin-bottom: 0.6rem;
            font-family: 'Courier New', monospace;
            font-size: 0.75rem;
            word-break: break-all;
            transition: border-color 0.2s;
        }
        .address-row:hover { border-color: var(--accent-dim); }
        .address-row .label {
            color: var(--accent);
            font-weight: 700;
            font-size: 0.7rem;
            letter-spacing: 0.1em;
            min-width: 3rem;
            flex-shrink: 0;
        }
        .address-row .value {
            color: var(--text);
            flex: 1;
            min-width: 0;
            user-select: all;
        }
        .address-row .copy-addr {
            flex-shrink: 0;
            background: transparent;
            border: 1px solid var(--border);
            color: var(--text-dim);
            border-radius: 4px;
            padding: 0.35rem 0.7rem;
            font-size: 0.6rem;
            letter-spacing: 0.15em;
            text-transform: uppercase;
            cursor: pointer;
            transition: all 0.2s;
            font-family: inherit;
        }
        .address-row .copy-addr:hover {
            border-color: var(--accent);
            color: var(--accent);
        }
        .address-row .copy-addr.copied {
            border-color: var(--success);
            color: var(--success);
        }
        .warning {
            margin-top: 1.25rem;
            padding: 0.75rem 1rem;
            background: #0a1a0a;
            border: 1px solid #00ff8822;
            border-radius: 6px;
            font-size: 0.8rem;
            color: var(--success);
            text-align: center;
            letter-spacing: 0.05em;
        }
        .warning::before { content: '\26A0'; margin-right: 0.5rem; }
        .noscript-warning {
            margin: 1rem 0 1.25rem;
            padding: 1.1rem 1.1rem 1.25rem;
            background: #1a1408;
            border: 1px solid #ffaa00aa;
            border-radius: 6px;
            font-size: 0.85rem;
            color: #ffcc66;
            text-align: center;
            line-height: 1.7;
        }
        .noscript-warning strong {
            color: var(--warn);
            font-weight: 600;
            display: block;
            margin-bottom: 0.35rem;
            font-size: 0.9rem;
        }
        .noscript-btn {
            display: block;
            margin: 1rem auto 0;
            max-width: 280px;
            padding: 0.85rem 1.25rem;
            background: var(--warn);
            color: #1a1408;
            border: 1px solid var(--warn);
            border-radius: 6px;
            font-size: 0.8rem;
            font-weight: 700;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            text-decoration: none;
            text-align: center;
            transition: all 0.2s ease;
        }
        .noscript-btn:hover {
            background: transparent;
            color: var(--warn);
            box-shadow: 0 0 20px #ffaa0066;
        }
        /* .snote-format removed — old order format display box, template now lives in #note textarea */
        .format-note {
            font-size: 0.78rem;
            color: var(--text-dim);
            margin-top: 1rem;
            line-height: 1.6;
        }
        .form-group { margin-bottom: 1.5rem; }
        .form-group label {
            display: block;
            font-size: 0.85rem;
            color: var(--text-bright);
            margin-bottom: 0.5rem;
            font-weight: 500;
        }
        .form-group .hint {
            font-size: 0.7rem;
            color: var(--text-dim);
            margin-top: 0.35rem;
        }
        .form-group textarea {
            width: 100%;
            padding: 0.85rem 1rem;
            background: var(--bg);
            border: 1px solid var(--border);
            color: var(--text-bright);
            border-radius: 6px;
            font-size: 0.85rem;
            font-family: 'Courier New', monospace;
            line-height: 1.6;
            resize: vertical;
            min-height: 200px;
            transition: all 0.2s ease;
        }
        .form-group textarea:focus {
            outline: none;
            border-color: var(--accent);
            box-shadow: 0 0 0 3px var(--border-glow), 0 0 15px var(--border-glow);
        }
        .form-group textarea::placeholder {
            color: var(--text-dim);
            font-family: -apple-system, 'Segoe UI', sans-serif;
        }
        /* .submit-btn base — see locked appearance block in patch.css */
        /* .options — removed, dead code from old note UI */
        /* .checkbox — removed, dead code from old note generator UI */
        /* .select-group — removed, dead code from old TTL selector */
        .status {
            text-align: center;
            font-size: 0.8rem;
            color: var(--text-dim);
            margin-top: 1rem;
            min-height: 1em;
        }
        .result {
            display: none;
            margin-top: 1.5rem;
            background: var(--bg);
            border: 1px solid var(--border);
            border-radius: 8px;
            padding: 1.25rem;
        }
        .result.visible { display: block; }
        .result .hint {
            font-size: 0.8rem;
            color: var(--text-dim);
            margin-bottom: 1rem;
        }
        .result .link {
            display: block;
            background: var(--surface);
            border: 1px solid var(--border);
            border-radius: 6px;
            padding: 0.85rem 1rem;
            font-family: 'Courier New', monospace;
            font-size: 0.75rem;
            color: var(--accent);
            word-break: break-all;
            text-decoration: none;
            margin-bottom: 1rem;
        }
        .result .link:hover { border-color: var(--accent); }
        .copy-btn {
            padding: 0.6rem 1.2rem;
            background: transparent;
            color: var(--accent);
            border: 1px solid var(--accent);
            border-radius: 6px;
            font-size: 0.8rem;
            cursor: pointer;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            font-family: inherit;
        }
        .copy-btn:hover {
            background: var(--accent);
            color: var(--bg);
        }
        .copied {
            color: var(--success);
            font-size: 0.8rem;
            margin-left: 0.75rem;
            opacity: 0;
            transition: opacity 0.2s;
        }
        .copied.visible { opacity: 1; }
        .footer {
            text-align: center;
            margin-top: 3rem;
            padding-top: 2rem;
            border-top: 1px solid var(--border);
        }
        .footer .handle {
            font-size: 0.8rem;
            color: var(--text-dim);
            letter-spacing: 0.1em;
        }
        .footer .handle strong { color: var(--accent); font-weight: 500; }
        .footer .footer-link { margin-top: 0.75rem; }
        .footer .footer-link a {
            font-size: 0.75rem;
            letter-spacing: 0.1em;
            color: var(--text-dim);
            text-decoration: none;
            border-bottom: 1px solid var(--border);
            padding-bottom: 2px;
            transition: all 0.2s;
        }
        .footer .footer-link a:hover {
            color: var(--accent);
            border-bottom-color: var(--accent);
        }
        .footer .crown {
            font-size: 0.9rem;
            display: block;
            margin-top: 0.5rem;
            opacity: 0.6;
        }
        a.snote-link { color: var(--accent); text-decoration: none; }
        a.snote-link:hover { text-decoration: underline; }
        .pgp-section {
            background: var(--surface);
            border: 1px solid var(--border);
            border-radius: 8px;
            padding: 1.75rem;
            margin-bottom: 1.5rem;
            position: relative;
            overflow: hidden;
        }
        .pgp-section::before {
            content: '';
            position: absolute;
            top: 0; left: 0; right: 0;
            height: 1px;
            background: linear-gradient(90deg, transparent, var(--accent-glow), transparent);
        }
        .pgp-key-block {
            background: var(--bg);
            border: 1px solid var(--border);
            border-radius: 6px;
            padding: 1rem 1.25rem;
            font-family: 'Courier New', monospace;
            font-size: 0.7rem;
            line-height: 1.5;
            color: var(--text-dim);
            max-height: 200px;
            overflow-y: auto;
            white-space: pre;
            user-select: all;
            cursor: text;
            margin: 0 0 1rem 0;
        }
        .pgp-copy-btn {
            padding: 0.6rem 1.2rem;
            background: transparent;
            color: var(--accent);
            border: 1px solid var(--accent);
            border-radius: 6px;
            font-size: 0.8rem;
            cursor: pointer;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            font-family: inherit;
            transition: all 0.2s;
        }
        .pgp-copy-btn:hover {
            background: var(--accent);
            color: var(--bg);
            box-shadow: 0 0 20px var(--accent-glow);
        }
        .pgp-copy-btn.copied {
            border-color: var(--success);
            color: var(--success);
        }
        .pgp-hint {
            font-size: 0.75rem;
            color: var(--text-dim);
            margin-top: 0.75rem;
            line-height: 1.6;
        }

        @media (max-width: 480px) {
            .hero { padding: 2rem 1rem 1.5rem; }
            .hero-title { font-size: 1.7rem; }
            .container { padding: 0 1rem 3rem; }
            .section, .form-section, .pgp-section { padding: 1.25rem; }
            .address-row {
                flex-wrap: wrap;
                align-items: flex-start;
            }
            .address-row .copy-addr {
                margin-left: auto;
            }
            .mini-header { height: 52px; }
            .mini-logo { width: 26px; }
            .mini-title { font-size: 0.9rem; }
        }

/* QR button + reveal */
.address-row { flex-wrap: wrap; }
.address-row .qr-toggle {
  flex-shrink: 0;
  background: transparent;
  border: 1px solid var(--border);
  color: var(--text-dim);
  border-radius: 4px;
  padding: 0.35rem 0.7rem;
  font-size: 0.6rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.2s;
  font-family: inherit;
}
.address-row .qr-toggle:hover {
  border-color: var(--accent);
  color: var(--accent);
}
/* QR wrap — hidden by default, .visible shows it */
.qr-wrap {
  display: none;
  flex-basis: 100%;
  justify-content: center;
  padding: 1rem 0 0.25rem;
}
.qr-wrap.visible {
  display: flex;
  animation: qrFade 0.25s ease forwards;
}

/* Clickable logo */
.logo-link {
  display: block;
  line-height: 0;
  text-decoration: none;
  color: inherit;
  transition: opacity 0.2s;
}
.logo-link:hover { opacity: 0.85; }
.logo-link:focus { outline: none; }
.logo-link:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 4px;
  border-radius: 4px;
}

/* Align with note.css (single source of truth) */
.address-row { gap: 0.5rem; }

/* ===== ANIMATIONS (anim.css) ===== */
/* ============================================================
   AEGIS motion layer
   - gated behind prefers-reduced-motion: no-preference
   - only animates transform and opacity (GPU-cheap)
   - no sweeps, no scanlines
   ============================================================ */

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

@media (prefers-reduced-motion: no-preference) {

  /* ---------- 1. Hero shield pulse (royal blue) ---------- */
  .hero-logo {
    animation: shieldPulse 4.5s ease-in-out infinite;
  }
  @keyframes shieldPulse {
    0%, 100% { filter: drop-shadow(0 0 15px var(--royal-soft)); }
    50%      { filter: drop-shadow(0 0 22px var(--royal))
                       drop-shadow(0 0 44px var(--royal-glow)); }
  }

  /* ---------- 2. Section scroll fade (Chromium) ---------- */
  @supports (animation-timeline: view()) {
    .section, .form-section, .pgp-section {
      animation: scrollFade linear both;
      animation-timeline: view();
      animation-range: entry 5% cover 25%;
    }
    @keyframes scrollFade {
      from { opacity: 0; transform: translateY(28px); }
      to   { opacity: 1; transform: translateY(0); }
    }
  }

  /* ---------- 3. Price cards with royal LIVE dot ---------- */
  .market-prices {
    gap: 0.9rem;
    padding: 0.75rem 0 1rem;
  }
  .mp-item {
    position: relative;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 0.65rem 1.1rem 0.65rem 1.5rem;
    transition: border-color 0.25s;
  }
  .mp-item:hover { border-color: var(--accent-dim); }
  .mp-item::before {
    content: '';
    position: absolute;
    left: 0.7rem;
    top: 50%;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--royal);
    transform: translateY(-50%);
    animation: livePulse 2s ease-in-out infinite;
  }
  @keyframes livePulse {
    0%, 100% { opacity: 1; box-shadow: 0 0 6px var(--royal); }
    50%      { opacity: 0.5; box-shadow: 0 0 12px var(--royal-glow); }
  }

  /* ---------- 4. Address + onion row hover lift ---------- */
  .address-row, .onion-row {
    transition: border-color 0.25s, transform 0.25s, box-shadow 0.25s;
  }
  .address-row:hover, .onion-row:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 18px #00d4ff1a;
  }

  /* ---------- 5. Contact link hover lift ---------- */
  .contact-link {
    transition: border-color 0.25s, transform 0.25s, box-shadow 0.25s;
  }

  /* ---------- 6. Copy button checkmark morph ---------- */
  .copy-addr.copied::before,
  .copy-btn.copied::before,
  .pgp-copy-btn.copied::before {
    content: '\2713\00a0';
  }

  /* ---------- 7. Generate button spinner ---------- */
  /* .submit-btn:disabled spinner removed — .is-working class handles this now */

  /* ---------- 8. Result link reveal ---------- */
  .result.visible .link {
    animation: linkReveal 0.55s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  }
  @keyframes linkReveal {
    from { opacity: 0; transform: translateY(14px); }
    to   { opacity: 1; transform: translateY(0); }
  }

  /* ---------- 9. QR pop-in ---------- */
  .qr-wrap.visible img {
    animation: qrPop 0.35s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  }
  @keyframes qrPop {
    0%   { opacity: 0; transform: scale(0.9) rotateY(-12deg); }
    100% { opacity: 1; transform: scale(1) rotateY(0); }
  }

  /* ---------- 10. Mini-header logo glow (royal blue) ---------- */
  .mini-logo {
    animation: miniGlow 3.5s ease-in-out infinite;
  }
  @keyframes miniGlow {
    0%, 100% { filter: drop-shadow(0 0 8px var(--royal-soft)); }
    50%      { filter: drop-shadow(0 0 14px var(--royal)); }
  }

  /* ---------- 11. Button press feedback ---------- */
  .submit-btn:not(:disabled):active,
  .copy-btn:active,
  .pgp-copy-btn:active,
  .copy-addr:active,
  .qr-toggle:active,
  .wallet-link:active,
  .noscript-btn:active {
    transform: scale(0.97);
  }

}

/* ===== OVERRIDES (patch.css) ===== */
/* ============================================================
   AEGIS UI/UX patch — loaded after note.css / index.css / anim.css
   Single source of truth. No reset-stacking.
   ============================================================ */

/* --- Contrast (WCAG AA/AAA on #030308) --- */
.pgp-hint, .format-note, .form-group .hint, .intro, .status,
.header .tagline, .hero-tagline { color: var(--text-hint); }

/* --- Notch / safe-area insets --- */
body {
  padding-left:  env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
}
.mini-header {
  padding-left:  max(env(safe-area-inset-left), 1rem);
  padding-right: max(env(safe-area-inset-right), 1rem);
}

/* --- Prevent iOS auto-zoom on focus --- */
.form-group textarea,
.form-group input,
.select-group select { font-size: 16px; line-height: 1.55; }

/* --- Heading letter-spacing overflow --- */
.header h1 {
  font-size: clamp(1.4rem, 5.5vw, 2.2rem);
  letter-spacing: clamp(0.18em, 1.6vw, 0.5em);
  padding-left: clamp(0.18em, 1.6vw, 0.5em);
}
.hero-title {
  font-size: clamp(1.4rem, 5.5vw, 2.4rem);
  letter-spacing: clamp(0.1em, 1.2vw, 0.15em);
}
.header h1, .hero-title, .mini-title {
  text-shadow:
    0 0 2px rgba(0, 212, 255, 0.9),
    0 0 8px rgba(0, 212, 255, 0.5),
    0 0 28px rgba(0, 212, 255, 0.25);
}

/* --- WCAG 2.4.11 focus rings --- */
.form-group textarea:focus,
.form-group input:focus,
.select-group select:focus,
.submit-btn:focus-visible,
.copy-btn:focus-visible,
.copy-addr:focus-visible,
.qr-toggle:focus-visible,
.wallet-link:focus-visible,
.pgp-copy-btn:focus-visible,
a:focus-visible,
button:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
  box-shadow:
    0 0 0 4px rgba(0, 212, 255, 0.25),
    0 0 18px rgba(0, 212, 255, 0.35);
}

/* --- 44x44 touch targets --- */
.copy-addr, .qr-toggle, .wallet-link, .copy-btn, .pgp-copy-btn {
  min-height: 44px;
  padding: 0.7rem 1rem;
  font-size: 0.72rem;
}

/* --- Long unbreakable strings --- */
.address-row .value,
.onion-row .onion-value,
.result .link,
.pgp-key-block { min-width: 0; overflow-wrap: anywhere; }

/* --- Terminal-cursor section label --- */
.section-label::before {
  content: '>';
  color: var(--accent);
  margin-right: 0.35rem;
  font-weight: 700;
  animation: aegisCursorBlink 1.1s steps(2, end) infinite;
}

@keyframes aegisCursorBlink { 50% { opacity: 0; } }

/* Progress steps base removed — AEGIS_PROGRESS_V5 neutralizes it */

/* --- Save-confirmation checkbox --- */
/* .confirm-check base — see AEGIS_PAYMENT_CONFIRM block */

/* --- Inline text link button --- */
.link-inline {
  background: none;
  border: none;
  color: var(--accent);
  font: inherit;
  padding: 0;
  cursor: pointer;
  text-decoration: underline;
}

/* --- Save-link pulse --- */
@keyframes aegisPulseOnce {
  0%   { box-shadow: 0 0 0 0 var(--accent-glow); }
  60%  { box-shadow: 0 0 0 10px rgba(0, 212, 255, 0); }
  100% { box-shadow: 0 0 0 0 rgba(0, 212, 255, 0); }
}
.pulse-once { animation: aegisPulseOnce 1.4s ease-out 1; }

/* --- Amber warning (semantically correct) --- */
.warning {
  background: #1a1408;
  border: 1px solid #ffaa0033;
  color: #ffcc66;
}
.warning::before { color: #ffaa00; }

/* --- ≤360px breakpoint --- */
@media (max-width: 360px) {
  .container     { padding: 1.5rem 0.75rem 3rem; }
  .section, .form-section, .pgp-section { padding: 1rem; border-radius: 6px; }
  .hero-title    { font-size: 1.4rem; letter-spacing: 0.1em; }
  .market-prices { gap: 0.5rem; }
  .submit-btn    { font-size: 0.78rem; letter-spacing: 0.1em; }
  .pgp-key-block { font-size: 0.62rem; }
  .progress-steps { font-size: 0.5rem; gap: 1rem; }
}

/* --- Stacked address rows on phones --- */
@media (max-width: 520px) {
  .address-row {
    display: grid;
    grid-template-columns: auto 1fr auto auto;
    grid-template-areas: "label value qr copy";
    align-items: center;
    gap: 0.4rem;
  }
  .address-row .label     { grid-area: label; }
  .address-row .value     { grid-area: value; }
  .address-row .qr-toggle { grid-area: qr; }
  .address-row .copy-addr { grid-area: copy; }
  .address-row .value {
    font-size: 0.7rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

/* --- Sticky CTA on mobile --- */
@media (max-width: 720px) and (max-height: 800px) {
  .form-section #generate,
  .form-section #submit-order {
    position: sticky;
    bottom: 0.75rem;
    z-index: 5;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.55), 0 0 20px var(--accent-glow);
  }
}

/* --- Contrast preference --- */
@media (prefers-contrast: more) {
  .section, .form-section, .pgp-section { border-width: 2px; }
}

/* --- Reduced motion --- */
@media (prefers-reduced-motion: reduce) {
  
  .pulse-once            { animation: none; }
}

/* ===== AEGIS_PROGRESS_V5 ===== */
/* All steps identical. No active/done colouring, no glow, no outline. */
.progress-steps .step,
.progress-steps .step.active,
.progress-steps .step.done,
.progress-steps.progress-steps .step,
.progress-steps.progress-steps .step.active,
.progress-steps.progress-steps .step.done {
  color: var(--text-dim);
  text-shadow: none;
  filter: none;
  background: none;
  border: 0;
  box-shadow: none;
  outline: none;
}

/* ===== AEGIS_PAYMENT_CONFIRM ===== */
/* First confirm-check (payment) gets an amber accent to separate
   it visually from the "saved link" checkbox below. */
.confirm-check:has(#confirm-paid) {
  border-color: #ffaa0044;
  background: #1a1408;
}
.confirm-check:has(#confirm-paid) input[type="checkbox"] {
  accent-color: #ffaa00;
}
.confirm-check:has(#confirm-paid) span { color: #ffcc66; }
/* Fallback for browsers without :has() — style both boxes the same */
@supports not selector(:has(*)) {
  .confirm-check { border-color: var(--border); }
}

/* ============================================================
   AEGIS_WOW — v1
   ============================================================ */

/* --- Generate button becomes a live progress bar --- */
.submit-btn.is-working {
  pointer-events: none;
  position: relative;
  color: transparent;
  border-color: var(--accent);
  background: linear-gradient(90deg,
    rgba(0, 212, 255, 0.10) 0%,
    rgba(0, 212, 255, 0.10) var(--progress, 0%),
    transparent var(--progress, 0%),
    transparent 100%);
  transition: background 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.submit-btn.is-working:disabled { opacity: 1; cursor: progress; }
.submit-btn.is-working::before {
  content: attr(data-step);
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--accent);
  font-size: 0.8rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.submit-btn.is-working::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -1px;
  height: 2px;
  width: var(--progress, 0%);
  background: linear-gradient(90deg, var(--accent), #00ffcc);
  box-shadow: 0 0 12px var(--accent-glow);
  transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* --- Typewriter cursor on the revealed link --- */
.typing-cursor {
  display: inline-block;
  color: var(--accent);
  animation: aegisBlink 0.85s steps(2, end) infinite;
  margin-left: 1px;
}
@keyframes aegisBlink { 50% { opacity: 0; } }

/* --- view.html: cinematic reveal --- */
#content.visible {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
#content.visible .field { margin-bottom: 0; }
#content.visible .field {
  animation: fieldIn 0.42s cubic-bezier(0.16, 1, 0.3, 1) both;
}
#content.visible .field:nth-child(1) { animation-delay: 0.05s; }
#content.visible .field:nth-child(2) { animation-delay: 0.14s; }
#content.visible .field:nth-child(3) { animation-delay: 0.23s; }
#content.visible .field:nth-child(4) { animation-delay: 0.32s; }
#content.visible .field:nth-child(5) { animation-delay: 0.41s; }
#content.visible .field:nth-child(6) { animation-delay: 0.50s; }
@keyframes fieldIn {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Burn notice jumps to top, becomes the loudest element */
.burn-notice {
  order: -1;
  margin-bottom: 0;
  padding: 1rem 1.25rem;
  font-size: 0.85rem;
  letter-spacing: 0.08em;
  animation: burnPulse 2.4s ease-in-out infinite;
}
@keyframes burnPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(255, 68, 102, 0); }
  50%      { box-shadow: 0 0 24px 0 rgba(255, 68, 102, 0.27); }
}

/* --- Wallet deep-link button on index address rows --- */
.wallet-link-inline {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  flex-shrink: 0;
  padding: 0.35rem 0.7rem;
  font-size: 0.6rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-dim);
  border: 1px solid var(--border);
  border-radius: 4px;
  text-decoration: none;
  font-family: inherit;
  white-space: nowrap;
  transition: all 0.2s;
}
.wallet-link-inline:hover { border-color: var(--accent); color: var(--accent); }
.wallet-link-inline:active { transform: scale(0.97); }
@media (max-width: 520px) {
  .wallet-link-inline { grid-column: 1 / -1; justify-self: stretch; margin: 0.3rem 0 0 0; }
}

/* --- Hero tighter on narrow phones --- */
@media (max-width: 480px) {
  .hero { padding: 1.5rem 1rem 1rem; }
  .hero-logo { width: 72px; margin-bottom: 1rem; }
  .hero-title { font-size: 1.6rem; }
  .hero-tagline { font-size: 0.6rem; letter-spacing: 0.25em; }
  .hero-badge { margin-top: 1rem; font-size: 0.6rem; }
}

/* --- Reduced-motion respect --- */
@media (prefers-reduced-motion: reduce) {
  .typing-cursor,
  #content.visible .field,
  .burn-notice { animation: none; }
}

/* ===== AEGIS_SIMPLIFY ===== */
/* Checkbox shake when user tries to submit without ticking */
@keyframes aegisShake {
  0%, 100% { transform: translateX(0); }
  20%, 60% { transform: translateX(-6px); }
  40%, 80% { transform: translateX(6px); }
}
.confirm-check.shake {
  animation: aegisShake 0.42s ease;
  border-color: var(--error) !important;
}

/* Countdown status pulses gently */
.status.counting {
  color: var(--accent);
  font-family: 'Courier New', monospace;
  letter-spacing: 0.05em;
}

/* Reset button visual for "continue to submit now" */
#manual-submit {
  background: transparent;
  border: 1px dashed var(--border);
  color: var(--text-dim);
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  padding: 0.7rem 1rem;
}
#manual-submit:hover {
  border-color: var(--accent);
  border-style: solid;
  color: var(--accent);
  background: transparent;
  box-shadow: none;
}

/* AEGIS_FIELDS removed — old multi-field form, replaced by #note textarea *//* ===== AEGIS_WOW2 ===== */
#toast-host{position:fixed;top:1rem;right:1rem;z-index:9999;display:flex;flex-direction:column;gap:.5rem;pointer-events:none;max-width:calc(100vw - 2rem)}
.aegis-toast{pointer-events:auto;display:flex;align-items:center;gap:.65rem;padding:.75rem 1rem;border-radius:8px;background:rgba(10,10,20,.96);border:1px solid var(--border,#1a2a44);color:var(--text,#c8dce8);font-size:.82rem;line-height:1.4;box-shadow:0 8px 32px rgba(0,0,0,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;transform:translateX(20px);transition:transform .32s cubic-bezier(.16,1,.3,1),opacity .32s cubic-bezier(.16,1,.3,1);cursor:pointer;max-width:380px}
.aegis-toast.in{opacity:1;transform:translateX(0)}
.aegis-toast.out{opacity:0;transform:translateX(20px)}
.aegis-toast-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-weight:700;font-size:.75rem;flex-shrink:0}
.aegis-toast-success{border-color:rgba(0,255,136,.35)}
.aegis-toast-success .aegis-toast-icon{background:rgba(0,255,136,.15);color:var(--success,#00ff88)}
.aegis-toast-info .aegis-toast-icon{background:rgba(0,212,255,.15);color:var(--accent,#00d4ff)}
@media(max-width:520px){#toast-host{top:auto;bottom:1rem;left:1rem;right:1rem;max-width:none}}

/* ===== AEGIS_OVERHAUL ===== */

/* --- Wordmark: clean sans-serif, no blackletter --- */
.hero-title, .header h1, .mini-title {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: clamp(0.1em, 1.2vw, 0.28em) !important;
  padding-left: clamp(0.1em, 1.2vw, 0.28em) !important;
  text-transform: uppercase;
}

/* --- Hero tighter on mobile --- */
@media (max-width: 640px) {
  .hero { padding: 2rem 1.25rem 1rem !important; }
  .hero-logo { width: 64px !important; margin-bottom: 0.85rem !important; }
  .hero-title { font-size: clamp(1.6rem, 7vw, 2.1rem) !important; }
  .hero-tagline { font-size: 0.6rem !important; letter-spacing: 0.22em !important; }
  .hero-badge { margin-top: 0.85rem !important; font-size: 0.62rem !important; padding: 0.3rem 0.85rem !important; }
}

/* --- Market ticker (new, sits below hero) --- */
.market-ticker {
  display: flex;
  justify-content: center;
  gap: 0.75rem;
  padding: 0.5rem 1rem 1.25rem;
  flex-wrap: wrap;
  position: relative;
  z-index: 1;
}
.ticker-item {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  background: rgba(10, 10, 20, 0.72);
  border: 1px solid var(--border, #1a2a44);
  border-radius: 999px;
  padding: 0.42rem 0.95rem;
  font-family: 'SFMono-Regular', Menlo, Consolas, monospace;
  font-size: 0.78rem;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.ticker-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--success, #00ff88);
  box-shadow: 0 0 8px rgba(0, 255, 136, 0.7);
  animation: tickerPulse 2s ease-in-out infinite;
}
@keyframes tickerPulse {
  0%, 100% { opacity: 1; }
  50%      { opacity: 0.4; }
}
.ticker-label {
  color: var(--text-dim, #7a9ab8);
  letter-spacing: 0.08em;
  font-weight: 600;
  font-size: 0.7rem;
}
.ticker-value {
  color: var(--text-bright, #e8f4ff);
  font-weight: 500;
}

/* --- Visual stepper (replaces numbered ol) --- */
.steps-viz {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.6rem;
  margin: 1.25rem 0 1.5rem;
  position: relative;
}
.step-viz {
  background: var(--bg, #030308);
  border: 1px solid var(--border, #1a2a44);
  border-radius: 10px;
  padding: 1rem 0.85rem;
  text-align: center;
  position: relative;
  transition: border-color 0.25s, transform 0.25s;
}
.step-viz:hover {
  border-color: rgba(0, 212, 255, 0.5);
  transform: translateY(-2px);
}
.step-viz:not(:last-child)::after {
  content: '\2192';
  position: absolute;
  right: -0.55rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--border, #1a2a44);
  font-size: 1rem;
  font-weight: 700;
  pointer-events: none;
}
.step-viz-num {
  font-family: 'SFMono-Regular', Menlo, Consolas, monospace;
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: var(--accent, #00d4ff);
  margin-bottom: 0.55rem;
}
.step-viz-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: rgba(0, 212, 255, 0.08);
  color: var(--accent, #00d4ff);
  margin-bottom: 0.6rem;
}
.step-viz-title {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--text-bright, #e8f4ff);
  margin-bottom: 0.2rem;
}
.step-viz-sub {
  font-size: 0.68rem;
  line-height: 1.4;
  color: var(--text-dim, #7a9ab8);
}
@media (max-width: 560px) {
  .steps-viz { grid-template-columns: 1fr; gap: 0.5rem; }
  .step-viz:not(:last-child)::after {
    content: '\2193';
    right: 50%;
    top: auto;
    bottom: -0.5rem;
    transform: translateX(50%);
  }
  .step-viz { text-align: left; display: flex; align-items: center; gap: 0.75rem; }
  .step-viz-icon { margin-bottom: 0; flex-shrink: 0; }
  .step-viz-num { position: absolute; top: 0.5rem; right: 0.75rem; margin-bottom: 0; }
  .step-viz-title { margin-bottom: 0.1rem; }
}

/* --- verify.html hash table --- */
.hash-table {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
.hash-loading {
  font-size: 0.85rem;
  color: var(--text-dim, #7a9ab8);
  padding: 1rem 0;
  text-align: center;
}
.hash-row {
  background: var(--bg, #030308);
  border: 1px solid var(--border, #1a2a44);
  border-radius: 6px;
  padding: 0.75rem 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.hash-name {
  font-family: 'SFMono-Regular', Menlo, Consolas, monospace;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: var(--accent, #00d4ff);
}
.hash-value {
  font-family: 'SFMono-Regular', Menlo, Consolas, monospace;
  font-size: 0.72rem;
  color: var(--text, #c8dce8);
  word-break: break-all;
  line-height: 1.5;
  user-select: all;
}
.hash-note {
  font-size: 0.72rem;
  color: var(--text-dim, #7a9ab8);
  margin-top: 0.85rem;
  text-align: center;
  font-style: italic;
}

/* --- status.html --- */
.status-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.75rem;
}
.status-cell {
  background: var(--bg, #030308);
  border: 1px solid var(--border, #1a2a44);
  border-radius: 8px;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.status-cell-label {
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-dim, #7a9ab8);
  font-weight: 600;
}
.status-cell-value {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.85rem;
  color: var(--text-bright, #e8f4ff);
  font-weight: 500;
}
.status-cell-num {
  font-family: 'SFMono-Regular', Menlo, Consolas, monospace;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--accent, #00d4ff);
}
.status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.status-dot-good {
  background: var(--success, #00ff88);
  box-shadow: 0 0 10px rgba(0, 255, 136, 0.7);
  animation: tickerPulse 2.4s ease-in-out infinite;
}
.status-dot-warn {
  background: #ffaa00;
  box-shadow: 0 0 10px rgba(255, 170, 0, 0.7);
}
.status-note {
  font-size: 0.72rem;
  color: var(--text-dim, #7a9ab8);
  margin-top: 0.9rem;
  text-align: center;
}
@media (max-width: 520px) {
  .status-grid { grid-template-columns: 1fr; }
}

/* ===== AEGIS_ORIGINAL ===== */
/* Reset to the original cyan theme. Nothing else after this point. */

/* ===== AEGIS_POLISH ===== */

/* ---------- 3. Address rows: wallet link becomes primary ---------- */
.address-row .wallet-link-inline {
  background: rgba(0, 212, 255, 0.08);
  border-color: rgba(0, 212, 255, 0.35);
  color: var(--accent);
  font-weight: 600;
  padding: 0.55rem 0.9rem;
  font-size: 0.68rem;
  letter-spacing: 0.10em;
  box-shadow: 0 0 12px rgba(0, 212, 255, 0.10);
}
.address-row .wallet-link-inline::after {
  content: ' \2192';
  margin-left: 0.15rem;
  transition: transform 0.2s;
}
.address-row .wallet-link-inline:hover {
  background: rgba(0, 212, 255, 0.16);
  border-color: var(--accent);
  color: var(--accent);
  box-shadow: 0 0 20px rgba(0, 212, 255, 0.30);
}
.address-row .wallet-link-inline:hover::after {
  transform: translateX(2px);
}

/* Demote QR/Copy to smaller secondary buttons */
.address-row .qr-toggle,
.address-row .copy-addr {
  opacity: 0.65;
  transition: opacity 0.2s, border-color 0.2s, color 0.2s;
}
.address-row .qr-toggle:hover,
.address-row .copy-addr:hover {
  opacity: 1;
}

/* On mobile: stack into a clean layout */
@media (max-width: 620px) {
  .address-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    align-items: center;
  }
  .address-row .label {
    flex: 0 0 100%;
    margin-bottom: -0.15rem;
  }
  .address-row .value {
    flex: 1 1 100%;
    font-size: 0.72rem;
    line-height: 1.5;
    word-break: break-all;
  }
  .address-row .wallet-link-inline {
    flex: 1 1 100%;
    justify-content: center;
    order: 1;
  }
  .address-row .qr-toggle,
  .address-row .copy-addr {
    flex: 1 1 calc(50% - 0.3rem);
    order: 2;
    justify-content: center;
    padding: 0.6rem 0.75rem;
    font-size: 0.66rem;
    opacity: 1;
  }
}

/* ---------- 4. Sticky mobile CTA ---------- */
@media (max-width: 720px) and (max-height: 800px) {
  .form-section#submit {
    padding-bottom: 5.5rem;
    overflow: visible !important;
  }
  .form-section#submit #generate {
    position: fixed;
    left: 0.9rem;
    right: 0.9rem;
    bottom: 0.9rem;
    width: auto;
    z-index: 50;
    background: rgba(10, 10, 20, 0.96);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow:
      0 12px 40px rgba(0, 0, 0, 0.65),
      0 0 24px rgba(0, 212, 255, 0.30);
    border-radius: 10px;
  }
  .form-section#submit #generate.is-working {
    background: rgba(10, 10, 20, 0.96);
  }
}

/* ---------- 9. PGP collapse ---------- */
details.pgp-section {
  padding: 0 !important;
}
details.pgp-section > .pgp-summary {
  list-style: none;
  cursor: pointer;
  padding: 1.25rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  user-select: none;
  border-radius: 8px;
}
details.pgp-section > .pgp-summary::-webkit-details-marker { display: none; }
details.pgp-section > .pgp-summary::marker { content: ''; }

.pgp-summary-title {
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: none;
  font-weight: 600;
  color: var(--accent);
}
.pgp-summary-hint {
  font-size: 0.7rem;
  color: var(--text-dim);
  letter-spacing: 0.02em;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.pgp-summary-hint::after {
  content: '+';
  font-family: 'SFMono-Regular', Menlo, Consolas, monospace;
  font-weight: 700;
  color: var(--accent);
  font-size: 0.95rem;
  transition: transform 0.2s;
  display: inline-block;
}
details.pgp-section[open] .pgp-summary-hint::after {
  content: '−';
}
details.pgp-section[open] > .pgp-summary {
  border-bottom: 1px solid rgba(26, 42, 68, 0.55);
  border-radius: 8px 8px 0 0;
}
.pgp-content {
  padding: 1.25rem 1.5rem 1.5rem;
  animation: pgpReveal 0.28s cubic-bezier(0.16, 1, 0.3, 1) both;
}
@keyframes pgpReveal {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}
.pgp-content .pgp-key-block { margin-top: 0; }
@media (prefers-reduced-motion: reduce) {
  .pgp-content { animation: none; }
}

/* ==============================================================
   5. Login footer — bigger, brighter, with watermark
   ============================================================== */
.auth-footer a {
  font-size: 0.85rem !important;
  color: #c8dce8 !important;
  letter-spacing: 0.03em !important;
  font-weight: 500;
}
.auth-footer a::after {
  content: ' \2192';
  transition: transform 0.15s;
  display: inline-block;
}
.auth-footer a:hover {
  color: #00d4ff !important;
  border-bottom-color: #00d4ff !important;
}
.auth-footer a:hover::after {
  transform: translateX(3px);
}

/* ==============================================================
   8. Thanks reference — whole row tappable
   ============================================================== */
.thanks-ref-row {
  cursor: pointer;
  user-select: none;
  border-radius: 6px;
  padding: 0.35rem 0.6rem;
  transition: background 0.15s ease;
}
.thanks-ref-row:hover {
  background: rgba(0, 212, 255, 0.04);
}
.thanks-ref-row:active {
  background: rgba(0, 212, 255, 0.08);
}
.thanks-ref-row:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}

/* Static submit button removed — locked appearance block handles this */
/* ===== Kill extra bottom padding left from sticky-button patch ===== */
.form-section#submit {
  padding-bottom: 1.75rem !important;
}
@media (max-width: 720px) {
  .form-section#submit {
    padding-bottom: 1.75rem !important;
  }
}

/* ===== Preflight health banner ===== */
.health-alert {
  background: rgba(255, 170, 0, 0.08);
  border: 1px solid rgba(255, 170, 0, 0.4);
  color: #ffcc66;
  padding: 0.9rem 1.1rem;
  border-radius: 8px;
  margin-bottom: 1.25rem;
  font-size: 0.85rem;
  line-height: 1.55;
}
.health-alert strong { color: #ffaa00; font-weight: 600; }

/* ===== TXID field feedback ===== */
/* .field-hint, .field-help, input#f-txid removed — old field UI, replaced by #note textarea */

/* ===== Safety page ===== */
.safety-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.safety-list li {
  position: relative;
  padding: 0.6rem 0 0.6rem 1.85rem;
  font-size: 0.88rem;
  line-height: 1.6;
  color: var(--text);
  border-bottom: 1px solid rgba(26, 42, 44, 0.55);
}
.safety-list li:last-child { border-bottom: none; }
.safety-list li::before {
  content: '';
  position: absolute;
  left: 0.35rem;
  top: 1.05rem;
  width: 6px;
  height: 6px;
  border-radius: 50%;
}
.safety-list-good li::before   { background: var(--success); box-shadow: 0 0 8px rgba(0, 255, 136, 0.55); }
.safety-list-neutral li::before { background: var(--text-dim); }
.safety-list-bad li::before    { background: var(--error); box-shadow: 0 0 8px rgba(255, 68, 102, 0.5); }

.safety-list-good    { border-left: 2px solid rgba(0, 255, 136, 0.35); padding-left: 0.75rem; }
.safety-list-neutral { border-left: 2px solid rgba(90, 122, 148, 0.45); padding-left: 0.75rem; }
.safety-list-bad     { border-left: 2px solid rgba(255, 68, 102, 0.35); padding-left: 0.75rem; }

/* ===== PROGRESS ARROWS — final authority ===== */
.progress-steps .step + .step::after {
  color: #00d4ff !important;
  filter: none !important;
  opacity: 1 !important;
}

/* ===== SUBMIT BUTTON — locked appearance ===== */
/* Force full-width, always-visible text, no state-based shrink. */
.form-section#submit #generate {
  display: block !important;
  width: 100% !important;
  min-height: 54px !important;
  box-sizing: border-box !important;
  padding: 1.1rem 1.25rem !important;
  background: transparent !important;
  color: var(--accent) !important;
  border: 1px solid var(--accent) !important;
  border-radius: 8px !important;
  font-family: inherit !important;
  font-size: 0.92rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  line-height: 1.2 !important;
  cursor: pointer !important;
  transform: none !important;
  transition: box-shadow 0.2s ease, border-color 0.2s ease !important;
  position: relative !important;
  overflow: hidden !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

/* Neutralize every interactive state — no color swap, no shrink */
.form-section#submit #generate:hover,
.form-section#submit #generate:focus,
.form-section#submit #generate:focus-visible,
.form-section#submit #generate:active,
.form-section#submit #generate:disabled {
  width: 100% !important;
  color: var(--accent) !important;
  background: transparent !important;
  border-color: var(--accent) !important;
  transform: none !important;
  scale: 1 !important;
  box-shadow: 0 0 22px var(--accent-glow) !important;
}
.form-section#submit #generate:hover {
  box-shadow: 0 0 28px var(--accent-glow) !important;
}
.form-section#submit #generate:active {
  box-shadow: 0 0 16px var(--accent-glow) !important;
}

/* Keep the working-state progress-bar visuals but ensure full width */
.form-section#submit #generate.is-working,
.form-section#submit #generate.is-working:disabled {
  color: transparent !important;
  background: transparent !important;
  border-color: var(--accent) !important;
  width: 100% !important;
}

/* Keep text hidden only while showing the ::before step label */
.form-section#submit #generate.is-working::before {
  content: attr(data-step) !important;
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--accent) !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
}

/* Reset disabled-look to non-working disabled (rare) */
.form-section#submit #generate:disabled:not(.is-working) {
  opacity: 0.55 !important;
  cursor: not-allowed !important;
}

/* ===== Confirm & Submit: NUCLEAR flush alignment ===== */
/* Force the section into a single-column grid. Every direct child
   becomes a grid item that stretches to the exact same width. */

.form-section#submit {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0.75rem !important;
  align-items: stretch !important;
}

.form-section#submit > * {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding-left: 1rem !important;
  padding-right: 1rem !important;
  box-sizing: border-box !important;
  justify-self: stretch !important;
  align-self: stretch !important;
}

/* Section label and format-note get their own padding back (they had
   none and shouldn't inherit the 1rem horizontal padding) */
.form-section#submit > .section-label,
.form-section#submit > .format-note {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* The hidden form should not consume grid rows */
.form-section#submit > #submit-form {
  display: none !important;
}

/* Checkbox keeps its internal flex layout */
.form-section#submit > .confirm-check {
  display: flex !important;
  align-items: flex-start !important;
  gap: 0.75rem !important;
}

/* Button keeps its internal centering */
.form-section#submit > #generate {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Status message centered, no border/padding overrides */
.form-section#submit > .status {
  padding-left: 0 !important;
  padding-right: 0 !important;
  text-align: center !important;
}

/* Result panel keeps normal spacing */
.form-section#submit > #result {
  padding: 1.25rem !important;
}

/* ===== Safety page — numbered step blocks ===== */
.safety-step {
  background: var(--bg);
  border: 1px solid var(--border);
  border-left: 3px solid var(--accent);
  border-radius: 8px;
  padding: 1.1rem 1.25rem;
  margin-top: 1rem;
}
.safety-step:first-of-type { margin-top: 0.5rem; }
.safety-step + .safety-step { margin-top: 0.85rem; }

.step-head {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.6rem;
}
.step-number {
  font-family: 'SFMono-Regular', Menlo, Consolas, monospace;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--accent);
  background: rgba(0, 212, 255, 0.10);
  border: 1px solid rgba(0, 212, 255, 0.28);
  border-radius: 6px;
  padding: 0.25rem 0.55rem;
  line-height: 1;
}
.step-title {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--text-bright);
  letter-spacing: 0.01em;
}
.step-body {
  font-size: 0.85rem;
  line-height: 1.65;
  color: var(--text);
  margin: 0;
}
.step-body strong { color: var(--text-bright); font-weight: 600; }
.step-body code {
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 3px;
  padding: 0.1rem 0.35rem;
  font-family: 'SFMono-Regular', Menlo, Consolas, monospace;
  font-size: 0.75rem;
  color: var(--accent);
}

/* Safety editorial layout removed — classes not used in HTML */

/* ============================================================
   Safety page — uses site-native .section cards
   ============================================================ */

/* Safety list (bullets with left accent — matches existing style) */
.safety-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.safety-list li {
  position: relative;
  padding: 0.7rem 0 0.7rem 1.85rem;
  font-size: 0.9rem;
  line-height: 1.65;
  color: var(--text);
  border-bottom: 1px solid rgba(26, 42, 68, 0.5);
}
.safety-list li:last-child { border-bottom: none; }
.safety-list li strong {
  color: var(--text-bright);
  font-weight: 600;
}
.safety-list li::before {
  content: '';
  position: absolute;
  left: 0.35rem;
  top: 1.15rem;
  width: 6px;
  height: 6px;
  border-radius: 50%;
}
.safety-list-good li::before {
  background: var(--success);
  box-shadow: 0 0 8px rgba(0, 255, 136, 0.55);
}

/* Closing line inside a .highlight card */
.safety-close {
  text-align: center;
}
.safety-close-line {
  font-size: 1rem;
  line-height: 1.65;
  color: var(--text-bright);
  margin: 0;
  font-weight: 400;
}

/* Mobile tweaks */
@media (max-width: 520px) {
  .safety-list li { font-size: 0.86rem; }
  .safety-ask { gap: 0.85rem; }
  .ask-icon { width: 38px; height: 38px; }
  .ask-title { font-size: 0.9rem; }
  .ask-text { font-size: 0.82rem; }
  .safety-close-line { font-size: 0.94rem; }
}

/* ============================================================
   FAQ + Shipping pages
   ============================================================ */

/* --- FAQ accordion-look items (always expanded) --- */
.faq-item {
  padding: 1rem 0;
  border-bottom: 1px solid rgba(26, 42, 68, 0.5);
}
.faq-item:first-of-type { padding-top: 0.5rem; }
.faq-item:last-child { border-bottom: none; padding-bottom: 0.25rem; }

.faq-q {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--text-bright);
  line-height: 1.5;
  margin-bottom: 0.5rem;
  letter-spacing: 0.005em;
}
.faq-q::before {
  content: '\2192';
  color: var(--accent);
  margin-right: 0.6rem;
  font-weight: 700;
  font-size: 0.9rem;
  vertical-align: -0.05em;
}

.faq-a {
  font-size: 0.88rem;
  line-height: 1.7;
  color: var(--text);
  padding-left: 1.4rem;
}
.faq-a strong { color: var(--text-bright); font-weight: 600; }

/* ---------- Shipping steps: subblocks ---------- */
.ship-step {
  display: flex;
  gap: 0.9rem;
  background: rgba(3, 3, 8, 0.55);
  border: 1px solid rgba(26, 42, 68, 0.9);
  border-left: 2px solid rgba(0, 212, 255, 0.45);
  border-radius: 6px;
  padding: 0.95rem 1.1rem;
  margin: 0 0 0.65rem;
}
.ship-step:last-child { margin-bottom: 0; }

.ship-num {
  flex-shrink: 0;
  width: 38px;
  height: 38px;
  border-radius: 8px;
  background: rgba(0, 212, 255, 0.10);
  border: 1px solid rgba(0, 212, 255, 0.30);
  color: var(--accent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: 'SFMono-Regular', Menlo, Consolas, monospace;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1;
}

.ship-body { min-width: 0; flex: 1; }
.ship-title {
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--text-bright);
  margin-bottom: 0.25rem;
  line-height: 1.5;
}
.ship-text {
  font-size: 0.85rem;
  line-height: 1.65;
  color: var(--text);
  margin: 0;
}
.ship-text strong { color: var(--text-bright); font-weight: 600; }

/* ---------- Give the section a bit more inner padding so subblocks breathe ---------- */
.section > .faq-item:first-of-type,
.section > .ship-step:first-of-type {
  margin-top: 0.25rem;
}

/* ---------- Mobile ---------- */
@media (max-width: 520px) {
  .faq-item { padding: 0.85rem 0.9rem; margin-bottom: 0.55rem; }
  .faq-q { font-size: 0.88rem; gap: 0.5rem; }
  .faq-a { font-size: 0.82rem; padding-left: 1.1rem; }

  .ship-step { padding: 0.85rem 0.9rem; gap: 0.7rem; margin-bottom: 0.55rem; }
  .ship-num { width: 34px; height: 34px; font-size: 0.7rem; }
  .ship-title { font-size: 0.88rem; }
  .ship-text { font-size: 0.81rem; }
}

/* ============================================================
   Site-wide consistency — subblock language on inner pages
   (Scoped to body.page-inner so the homepage is untouched)
   ============================================================ */

body.page-inner .contact-link,
body.page-inner .onion-row,
body.page-inner .address-row,
body.page-inner .fingerprint,
body.page-inner .pgp-key-block,
body.page-inner .hash-row,
body.page-inner .status-cell,
body.page-inner .field,
body.page-inner .burn-notice {
  background: rgba(3, 3, 8, 0.55);
  border: 1px solid rgba(26, 42, 68, 0.9);
  border-left: 2px solid rgba(0, 212, 255, 0.45);
  border-radius: 6px;
  padding: 0.95rem 1.1rem;
  box-shadow: none;
}

/* Vertical rhythm — margin on stacked items only */
body.page-inner .contact-link,
body.page-inner .onion-row,
body.page-inner .address-row,
body.page-inner .fingerprint,
body.page-inner .pgp-key-block {
  margin-bottom: 0.65rem;
}
body.page-inner .contact-link:last-child,
body.page-inner .onion-row:last-child,
body.page-inner .address-row:last-child,
body.page-inner .fingerprint:last-child,
body.page-inner .pgp-key-block:last-child {
  margin-bottom: 0;
}

/* Layouts preserved */
body.page-inner .address-row {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  flex-wrap: wrap;
}
body.page-inner .onion-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* PGP key block — keep inner pre formatting */
body.page-inner .pgp-key-block {
  max-height: 220px;
  overflow-y: auto;
  white-space: pre;
  font-family: 'SFMono-Regular', Menlo, Consolas, monospace;
  font-size: 0.7rem;
  line-height: 1.55;
  color: var(--text-dim);
  user-select: all;
  cursor: text;
}

/* Hash rows (verify.html) */
body.page-inner .hash-row {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  margin: 0;
}
body.page-inner .hash-name {
  color: var(--accent);
  font-family: 'SFMono-Regular', Menlo, Consolas, monospace;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}
body.page-inner .hash-value {
  font-family: 'SFMono-Regular', Menlo, Consolas, monospace;
  font-size: 0.72rem;
  color: var(--text);
  word-break: break-all;
  user-select: all;
  line-height: 1.55;
}

/* Status cells (status.html) */
body.page-inner .status-cell {
  padding: 0.95rem 1.1rem;
  margin: 0;
}
body.page-inner .status-cell-label {
  font-size: 0.66rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-dim);
  font-weight: 600;
  margin-bottom: 0.35rem;
}
body.page-inner .status-cell-value {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.88rem;
  color: var(--text-bright);
  font-weight: 500;
}
body.page-inner .status-cell-num {
  font-family: 'SFMono-Regular', Menlo, Consolas, monospace;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--accent);
}

/* Fields (view.html) — grid parent spaces them */
body.page-inner #content.visible .field { margin-bottom: 0; }
body.page-inner .field-label {
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--accent);
  font-weight: 600;
  margin-bottom: 0.4rem;
}
body.page-inner .field-value {
  font-family: 'SFMono-Regular', Menlo, Consolas, monospace;
  font-size: 0.85rem;
  color: var(--text-bright);
  line-height: 1.6;
  word-break: break-word;
  white-space: pre-wrap;
}

/* Burn notice — red accent */
body.page-inner .burn-notice {
  border-left-color: rgba(255, 68, 102, 0.7);
  background: rgba(26, 10, 10, 0.55);
  color: #ff6b8a;
  text-align: left;
  margin: 0;
}

/* Hover states preserved on interactive subblocks */
body.page-inner .contact-link {
  display: block;
  text-decoration: none;
  color: var(--text);
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
}
body.page-inner .contact-link:hover {
  border-color: var(--accent);
  border-left-color: var(--accent);
  box-shadow: 0 0 20px var(--accent-glow);
  transform: translateY(-1px);
}
body.page-inner .onion-row:hover {
  border-color: var(--accent);
  border-left-color: var(--accent);
}

/* Contact internals */
body.page-inner .contact-link .contact-name {
  display: block;
  color: var(--text-bright);
  font-size: 0.92rem;
  font-weight: 600;
  margin-bottom: 0.2rem;
}
body.page-inner .contact-link .contact-handle {
  display: block;
  font-family: 'SFMono-Regular', Menlo, Consolas, monospace;
  font-size: 0.78rem;
  color: var(--accent);
  letter-spacing: 0.02em;
}

/* Address row internals (plain.html) */
body.page-inner .address-row .label {
  color: var(--accent);
  font-weight: 700;
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  min-width: 3rem;
  flex-shrink: 0;
}
body.page-inner .address-row .value {
  color: var(--text);
  flex: 1;
  min-width: 0;
  font-family: 'SFMono-Regular', Menlo, Consolas, monospace;
  font-size: 0.75rem;
  word-break: break-all;
  user-select: all;
}

/* Fingerprint internals */
body.page-inner .fingerprint-label {
  font-size: 0.62rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 0.5rem;
  font-weight: 600;
}
body.page-inner .fingerprint-value {
  font-family: 'SFMono-Regular', Menlo, Consolas, monospace;
  font-size: 0.8rem;
  color: var(--text-bright);
  word-break: break-all;
  line-height: 1.7;
  user-select: all;
  cursor: text;
}

/* Mobile */
@media (max-width: 520px) {
  body.page-inner .contact-link,
  body.page-inner .onion-row,
  body.page-inner .address-row,
  body.page-inner .fingerprint,
  body.page-inner .pgp-key-block,
  body.page-inner .hash-row,
  body.page-inner .status-cell,
  body.page-inner .field,
  body.page-inner .burn-notice {
    padding: 0.85rem 0.95rem;
  }
  body.page-inner .contact-link,
  body.page-inner .onion-row,
  body.page-inner .address-row,
  body.page-inner .fingerprint,
  body.page-inner .pgp-key-block {
    margin-bottom: 0.55rem;
  }
}

/* .link-option removed — f-note-link element doesn't exist in HTML *//* .generate-link-btn removed — button doesn't exist in HTML *//* ===== Single-textarea order form ===== */
#note {
  width: 100%;
  min-height: 280px;
  padding: 1rem 1.1rem;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--text-bright);
  font-family: 'SFMono-Regular', Menlo, Consolas, 'Liberation Mono', monospace;
  font-size: 0.85rem;
  line-height: 1.75;
  resize: vertical;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  box-sizing: border-box;
  letter-spacing: 0.01em;
}
#note:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow:
    0 0 0 3px rgba(0, 212, 255, 0.15),
    0 0 18px rgba(0, 212, 255, 0.10);
}
#note.note-skipped {
  opacity: 0.35;
  pointer-events: none;
  transition: opacity 0.25s ease;
}
#note:disabled { cursor: not-allowed; }

@media (max-width: 520px) {
  #note {
    font-size: 16px;         /* prevent iOS zoom */
    min-height: 240px;
    padding: 0.9rem 1rem;
  }
}

/* ===== Order textarea: proportional font, tighter size ===== */
#note {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
               'Helvetica Neue', Arial, sans-serif !important;
  font-size: 0.9rem !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
  min-height: 200px !important;
  padding: 0.9rem 1rem !important;
}

@media (max-width: 520px) {
  #note {
    font-size: 16px !important;   /* keep iOS zoom prevention */
    min-height: 180px !important;
    padding: 0.85rem 0.95rem !important;
  }
}

/* ============================================================
   Compact order card — everything fits without scrolling
   ============================================================ */

.form-section#note {
  padding: 1.35rem 1.25rem 1.15rem !important;
}

/* Section label + intro paragraph tighter */
.form-section#note > .section-label {
  margin-bottom: 0.65rem !important;
}
.form-section#note > .format-note {
  margin: 0 0 0.85rem !important;
  font-size: 0.82rem !important;
  line-height: 1.5 !important;
}

/* #note textarea — consolidated below */

/* The form-group wrapper around the textarea shouldn't add extra space */
.form-section#note .form-group {
  margin-bottom: 0.85rem !important;
}

/* Payment checkbox */
.form-section#note > .confirm-check {
  margin: 0 0 0.65rem !important;
  padding: 0.75rem 0.9rem !important;
}

/* Warning */
.form-section#note > .double-check-warning {
  margin: 0 0 0.75rem !important;
  padding: 0.7rem 0.9rem !important;
  font-size: 0.78rem !important;
  line-height: 1.5 !important;
}

/* Button — no extra top margin */
.form-section#note > #generate {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  min-height: 50px !important;
  padding: 0.9rem 1.1rem !important;
  font-size: 0.88rem !important;
}

/* Status line quiet */
.form-section#note > .status {
  margin-top: 0.7rem !important;
  min-height: 0;
  font-size: 0.78rem !important;
}

/* Result panel spacing */
.form-section#note > #result {
  margin-top: 1rem !important;
  padding: 1.1rem 1.15rem !important;
}
.form-section#note > #result .submit-btn {
  margin-top: 0.5rem !important;
}

/* ============================================================
   Mobile — shrink everything so button appears without scroll
   ============================================================ */
@media (max-width: 520px) {
  .form-section#note {
    padding: 1.15rem 1rem 1rem !important;
  }
  .form-section#note > .section-label {
    margin-bottom: 0.5rem !important;
  }
  .form-section#note > .format-note {
    margin-bottom: 0.7rem !important;
    font-size: 0.78rem !important;
  }
  .form-section#note #note {
    min-height: 130px !important;
    font-size: 16px !important;   /* iOS zoom prevention */
    padding: 0.75rem 0.85rem !important;
  }
  .form-section#note .form-group {
    margin-bottom: 0.7rem !important;
  }
  .form-section#note > .confirm-check {
    margin-bottom: 0.55rem !important;
    padding: 0.65rem 0.8rem !important;
    font-size: 0.78rem !important;
  }
  .form-section#note > .double-check-warning {
    margin-bottom: 0.65rem !important;
    padding: 0.6rem 0.8rem !important;
    font-size: 0.74rem !important;
  }
  .form-section#note > #generate {
    min-height: 48px !important;
    font-size: 0.84rem !important;
    padding: 0.85rem 1rem !important;
  }
}

/* ===== Smaller text in the order template textarea ===== */
.form-section#note #note {
  font-size: 0.78rem !important;
  line-height: 1.5 !important;
}

@media (max-width: 520px) {
  .form-section#note #note {
    font-size: 14px !important;
  }
}

/* ===== SUBMIT ALIGNMENT (flush.css) ===== */
/* ============================================================
   AEGIS — flush.css
   Loaded last. Overrides everything above it.
   Only purpose: make the Confirm & Submit block perfectly
   aligned, edge to edge.
   ============================================================ */

/* Make the section a strict vertical stack */
.form-section#submit,
section#submit {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
}

/* Every direct child — checkbox, warning, button — gets the
   exact same outer geometry. */
.form-section#submit > *,
section#submit > * {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  flex: 0 0 auto !important;
}

/* The three visual boxes (checkbox label, warning, button)
   share identical horizontal padding and border width so their
   borders line up to the pixel. */
.form-section#submit > .confirm-check,
.form-section#submit > .double-check-warning,
.form-section#submit > #generate,
section#submit > .confirm-check,
section#submit > .double-check-warning,
section#submit > #generate {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
  border-left-width: 1px !important;
  border-right-width: 1px !important;
  border-top-width: 1px !important;
  border-bottom-width: 1px !important;
  border-style: solid !important;
  border-radius: 8px !important;
}

/* Vertical rhythm */
.form-section#submit > .double-check-warning,
section#submit > /* .double-check-warning early def — NUCLEAR block wins */
.form-section#submit > .confirm-check,
section#submit > .confirm-check {
  margin-top: 0 !important;
  margin-bottom: 0.75rem !important;
}
.form-section#submit > #generate,
section#submit > #generate {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* The hidden submit form must not consume a flex row */
.form-section#submit > #submit-form,
section#submit > #submit-form {
  display: none !important;
}

/* Status message and result panel get their own padding back */
.form-section#submit > .status,
section#submit > .status {
  padding-left: 0 !important;
  padding-right: 0 !important;
  text-align: center !important;
}
.form-section#submit > #result,
section#submit > #result {
  padding-left: 1.25rem !important;
  padding-right: 1.25rem !important;
}

/* Inside the checkbox label, keep the flex row */
.form-section#submit > .confirm-check,
section#submit > .confirm-check {
  display: flex !important;
  align-items: flex-start !important;
  gap: 0.75rem !important;
}

/* Button stays full width and centered content */
.form-section#submit > #generate,
section#submit > #generate {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* ===== MOBILE FIXES (mobile-fix.css) ===== */
/* mobile-fix.css removed — superseded by NUCLEAR alignment block */

/* ============================================================
   align-fix.css — absolute last stylesheet
   ============================================================ */

/* 1. Kill any flex behavior on the parent — plain block layout */
body .form-section#submit,
body #submit.form-section {
  display: block !important;
  flex: none !important;
  grid: none !important;
}

/* 2. The two siblings share identical box model */
body .form-section#submit > .confirm-check,
body .form-section#submit > .double-check-warning,
body .form-section#submit > #generate {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 1.15rem !important;
  padding-right: 1.15rem !important;
  border-left-width: 1px !important;
  border-right-width: 1px !important;
  border-left-style: solid !important;
  border-right-style: solid !important;
  border-radius: 8px !important;
  float: none !important;
  position: static !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  align-self: auto !important;
  justify-self: auto !important;
}

/* 3. Vertical spacing */
body .form-section#submit > .double-check-warning { margin-top: 0.5rem !important; margin-bottom: 0.75rem !important; }
body .form-section#submit > .confirm-check        { margin-top: 0 !important;      margin-bottom: 0.85rem !important; }
body .form-section#submit > #generate             { margin-top: 0 !important;      margin-bottom: 0 !important; }

/* 4. Checkbox internals — flex row inside the padded label */
body .form-section#submit > .confirm-check {
  display: flex !important;
  align-items: flex-start !important;
  gap: 0.75rem !important;
}

/* 5. Button internals — centered text, but the button itself
      fills the parent width completely */
body .form-section#submit > #generate {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  min-height: 54px !important;
  font-size: 0.9rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

/* 6. Everything else in the section keeps normal spacing */
body .form-section#submit > .section-label,
body .form-section#submit > .format-note,
body .form-section#submit > .status {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body .form-section#submit > .status { text-align: center !important; }
body .form-section#submit > #result { padding: 1.25rem !important; margin-top: 1.25rem !important; }
body .form-section#submit > #submit-form { display: none !important; }

/* 7. Mobile — same alignment, tighter padding */
@media (max-width: 520px) {
  body .form-section#submit > .confirm-check,
  body .form-section#submit > .double-check-warning,
  body .form-section#submit > #generate {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  body .form-section#submit > #generate {
    min-height: 50px !important;
    font-size: 0.85rem !important;
  }
}

/* ===== #note textarea — consolidated (Phase 3) ===== */
/* Replaces 6+ scattered definitions. Final computed values. */
.form-section#note #note {
  width: 100%;
  min-height: 150px !important;
  max-height: 240px;
  margin: 0 !important;
  padding: 0.8rem 0.9rem !important;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--text-bright);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
               'Helvetica Neue', Arial, sans-serif !important;
  font-size: 0.78rem !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
  resize: vertical;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  box-sizing: border-box;
}
.form-section#note #note:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(0, 212, 255, 0.15), 0 0 18px rgba(0, 212, 255, 0.10);
}
.form-section#note #note.note-skipped {
  opacity: 0.35;
  pointer-events: none;
  transition: opacity 0.25s ease;
}
.form-section#note #note:disabled { cursor: not-allowed; }
@media (max-width: 520px) {
  .form-section#note #note {
    min-height: 130px !important;
    padding: 0.75rem 0.85rem !important;
    font-size: 14px !important;
  }
}
@media (max-height: 700px) {
  .form-section#note #note { min-height: 110px !important; }
}

/* ===== THANKS PAGE (thanks.css merged) ===== */
.thanks-page{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:3rem 1.25rem 4rem;position:relative;overflow-x:hidden}
.thanks-wrap{position:relative;z-index:2;max-width:640px;width:100%;margin:0 auto;text-align:center}
.thanks-logo img{width:80px;display:block;margin:0 auto 2rem;filter:drop-shadow(0 0 20px rgba(0,212,255,.35));animation:thanksLogo 3.5s ease-in-out infinite}
@keyframes thanksLogo{0%,100%{filter:drop-shadow(0 0 15px rgba(0,212,255,.25))}50%{filter:drop-shadow(0 0 28px rgba(0,212,255,.55))}}
.thanks-check-wrap{width:120px;height:120px;margin:0 auto 1.75rem;position:relative}
.thanks-check{width:100%;height:100%;overflow:visible}
.check-circle{fill:none;stroke:var(--accent,#00d4ff);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:277;stroke-dashoffset:277;filter:drop-shadow(0 0 6px rgba(0,212,255,.5))}
.thanks-page.is-ready .check-circle{animation:drawCircle .9s cubic-bezier(.65,0,.45,1) forwards}
@keyframes drawCircle{to{stroke-dashoffset:0}}
.check-mark{fill:none;stroke:var(--accent,#00d4ff);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:80;stroke-dashoffset:80;filter:drop-shadow(0 0 4px rgba(0,212,255,.6))}
.thanks-page.is-ready .check-mark{animation:drawCheck .5s cubic-bezier(.65,0,.45,1) .75s forwards}
@keyframes drawCheck{to{stroke-dashoffset:0}}
.thanks-page-warn .check-circle{stroke:#ffaa00;filter:drop-shadow(0 0 6px rgba(255,170,0,.5))}
.thanks-page-warn .check-mark{stroke:#ffaa00;filter:drop-shadow(0 0 4px rgba(255,170,0,.6))}
.thanks-title{font-size:clamp(1.6rem,4vw,2.1rem);font-weight:300;letter-spacing:.02em;color:var(--text-bright,#e8f4ff);margin:0 0 .75rem;opacity:0;transform:translateY(8px)}
.thanks-page.is-ready .thanks-title{animation:fadeUp .7s cubic-bezier(.16,1,.3,1) 1.15s forwards}
.thanks-sub{font-size:.95rem;line-height:1.6;color:var(--text-dim,#7a9ab8);max-width:480px;margin:0 auto 2.25rem;opacity:0;transform:translateY(8px)}
.thanks-page.is-ready .thanks-sub{animation:fadeUp .7s cubic-bezier(.16,1,.3,1) 1.3s forwards}
@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}
.thanks-ref{background:var(--bg,#030308);border:1px solid var(--border,#1a2a44);border-radius:10px;padding:1.25rem 1.5rem;margin:0 auto 2.5rem;max-width:360px;position:relative;overflow:hidden;opacity:0;transform:translateY(12px)}
.thanks-page.is-ready .thanks-ref{animation:fadeUp .7s cubic-bezier(.16,1,.3,1) 1.5s forwards}
.thanks-ref::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent,#00d4ff),transparent);opacity:.55}
.thanks-ref-label{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim,#7a9ab8);margin-bottom:.55rem}
.thanks-ref-row{display:flex;align-items:center;justify-content:center;gap:.4rem;font-family:'SFMono-Regular',Menlo,Consolas,monospace;font-size:1.9rem;font-weight:600;color:var(--accent,#00d4ff);text-shadow:0 0 12px rgba(0,212,255,.35);line-height:1}
.thanks-ref-hash{opacity:.5;font-weight:400}
.thanks-ref-value{letter-spacing:.06em}
.thanks-copy{background:transparent;border:1px solid var(--border,#1a2a44);color:var(--text-dim,#7a9ab8);border-radius:6px;padding:.4rem .55rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .2s;margin-left:.4rem}
.thanks-copy:hover{border-color:var(--accent,#00d4ff);color:var(--accent,#00d4ff)}
.thanks-copy:active{transform:scale(.94)}
.thanks-ref-hint{font-size:.75rem;color:var(--text-dim,#7a9ab8);margin-top:.85rem;line-height:1.5}
.thanks-timeline{list-style:none;padding:0;margin:0 auto 2.5rem;max-width:400px;text-align:left;position:relative}
.tl-step{display:flex;align-items:flex-start;gap:1rem;padding:.85rem 0;position:relative;opacity:0;transform:translateX(-8px)}
.thanks-page.is-ready .tl-step:nth-child(1){animation:slideIn .55s cubic-bezier(.16,1,.3,1) 1.75s forwards}
.thanks-page.is-ready .tl-step:nth-child(2){animation:slideIn .55s cubic-bezier(.16,1,.3,1) 1.90s forwards}
.thanks-page.is-ready .tl-step:nth-child(3){animation:slideIn .55s cubic-bezier(.16,1,.3,1) 2.05s forwards}
.thanks-page.is-ready .tl-step:nth-child(4){animation:slideIn .55s cubic-bezier(.16,1,.3,1) 2.20s forwards}
@keyframes slideIn{to{opacity:1;transform:translateX(0)}}
.tl-step:not(:last-child)::before{content:'';position:absolute;left:7px;top:1.75rem;bottom:-.5rem;width:1px;background:var(--border,#1a2a44)}
.tl-dot{width:15px;height:15px;border-radius:50%;background:var(--bg,#030308);border:2px solid var(--border,#1a2a44);flex-shrink:0;margin-top:.25rem;position:relative;z-index:1}
.tl-step-done .tl-dot{background:var(--success,#00ff88);border-color:var(--success,#00ff88);box-shadow:0 0 12px rgba(0,255,136,.5)}
.tl-step-active .tl-dot{background:var(--accent,#00d4ff);border-color:var(--accent,#00d4ff);animation:tlPulse 2s ease-in-out infinite}
@keyframes tlPulse{0%,100%{box-shadow:0 0 0 0 rgba(0,212,255,.6)}50%{box-shadow:0 0 0 8px rgba(0,212,255,0)}}
.tl-title{font-size:.9rem;font-weight:600;color:var(--text-bright,#e8f4ff);margin-bottom:.15rem}
.tl-step-active .tl-title{color:var(--accent,#00d4ff)}
.tl-step:not(.tl-step-done):not(.tl-step-active) .tl-title{color:var(--text-dim,#7a9ab8);font-weight:500}
.tl-sub{font-size:.75rem;color:var(--text-dim,#7a9ab8);line-height:1.5}
.thanks-next{margin:0 auto 2.5rem;opacity:0;transform:translateY(12px)}
.thanks-page.is-ready .thanks-next{animation:fadeUp .7s cubic-bezier(.16,1,.3,1) 2.35s forwards}
.thanks-next-title{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim,#7a9ab8);font-weight:600;margin:0 0 1rem;text-align:left;display:flex;align-items:center;gap:.75rem}
.thanks-next-title::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,var(--border,#1a2a44),transparent)}
.thanks-next-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;text-align:left}
.thanks-next-card{background:var(--surface,#0a0a14);border:1px solid var(--border,#1a2a44);border-radius:8px;padding:1rem;position:relative;transition:border-color .25s,transform .25s}
.thanks-next-card:hover{border-color:var(--accent,#00d4ff);transform:translateY(-2px)}
.next-num{font-family:'SFMono-Regular',Menlo,Consolas,monospace;font-size:.65rem;font-weight:700;letter-spacing:.1em;color:var(--accent,#00d4ff);margin-bottom:.5rem}
.next-text{font-size:.82rem;line-height:1.55;color:var(--text,#c8dce8)}
.next-text strong{color:var(--text-bright,#e8f4ff);font-weight:600}
.thanks-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;margin:0 auto 3rem;opacity:0;transform:translateY(12px)}
.thanks-page.is-ready .thanks-actions{animation:fadeUp .7s cubic-bezier(.16,1,.3,1) 2.55s forwards}
.thanks-btn{display:inline-flex;align-items:center;justify-content:center;padding:.85rem 1.5rem;border-radius:8px;border:1px solid var(--border,#1a2a44);background:transparent;color:var(--text,#c8dce8);font-size:.88rem;font-weight:500;text-decoration:none;transition:all .2s;font-family:inherit;min-height:44px}
.thanks-btn:hover{border-color:var(--accent,#00d4ff);color:var(--accent,#00d4ff);transform:translateY(-1px)}
.thanks-btn-primary{background:var(--accent,#00d4ff);border-color:var(--accent,#00d4ff);color:var(--bg,#030308);font-weight:600;box-shadow:0 0 24px rgba(0,212,255,.3)}
.thanks-btn-primary:hover{color:var(--bg,#030308);box-shadow:0 0 36px rgba(0,212,255,.55)}
.thanks-note{background:rgba(255,170,0,.06);border:1px solid rgba(255,170,0,.35);border-radius:10px;padding:1.25rem 1.5rem;text-align:left;margin:0 auto 2rem;max-width:480px;opacity:0;transform:translateY(12px)}
.thanks-page.is-ready .thanks-note{animation:fadeUp .7s cubic-bezier(.16,1,.3,1) 1.4s forwards}
.thanks-note-title{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:#ffaa00;font-weight:700;margin-bottom:.6rem}
.thanks-note p{font-size:.88rem;line-height:1.65;color:var(--text,#c8dce8);margin:0 0 .6rem}
.thanks-note p:last-child{margin-bottom:0}
.thanks-note strong{color:#ffcc66}
.thanks-footer{text-align:center;padding-top:2rem;border-top:1px solid var(--border,#1a2a44);opacity:0}
.thanks-page.is-ready .thanks-footer{animation:fadeUp .7s cubic-bezier(.16,1,.3,1) 2.7s forwards}
.thanks-footer .handle{font-size:.8rem;color:var(--text-dim,#7a9ab8);letter-spacing:.05em}
.thanks-footer .handle strong{color:var(--accent,#00d4ff);font-weight:500}
.thanks-footer .footer-link{margin-top:.5rem}
.thanks-footer .footer-link a{font-size:.75rem;color:var(--text-dim,#7a9ab8);text-decoration:none;border-bottom:1px solid var(--border,#1a2a44);padding-bottom:2px;transition:all .2s}
.thanks-footer .footer-link a:hover{color:var(--accent,#00d4ff);border-bottom-color:var(--accent,#00d4ff)}
@media(max-width:520px){.thanks-page{padding:2rem 1rem 3rem}.thanks-check-wrap{width:90px;height:90px;margin-bottom:1.25rem}.thanks-ref{padding:1rem 1.25rem}.thanks-ref-row{font-size:1.5rem}.thanks-next-grid{grid-template-columns:1fr}.thanks-actions{flex-direction:column}.thanks-btn{width:100%}}
@media(prefers-reduced-motion:reduce){.thanks-page .check-circle,.thanks-page .check-mark{stroke-dashoffset:0;animation:none!important}.thanks-page .thanks-title,.thanks-page .thanks-sub,.thanks-page .thanks-ref,.thanks-page .tl-step,.thanks-page .thanks-next,.thanks-page .thanks-actions,.thanks-page .thanks-note,.thanks-page .thanks-footer{opacity:1;transform:none;animation:none!important}.thanks-logo img,.tl-step-active .tl-dot{animation:none!important}}


/* ===== Informed Delivery callout ===== */
.thanks-inform {
  background: linear-gradient(180deg, rgba(0,212,255,.05) 0%, rgba(0,212,255,.01) 100%);
  border: 1px solid rgba(0,212,255,.28);
  border-radius: 12px;
  padding: 1.5rem 1.5rem 1.25rem;
  margin: 0 auto 2.5rem;
  max-width: 520px;
  text-align: left;
  position: relative;
  overflow: hidden;
  opacity: 0;
  transform: translateY(12px);
}
.thanks-page.is-ready .thanks-inform {
  animation: fadeUp .7s cubic-bezier(.16,1,.3,1) 1.75s forwards;
}
.thanks-inform::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--accent, #00d4ff), transparent);
  opacity: .75;
}
.inform-head {
  display: flex;
  align-items: flex-start;
  gap: .85rem;
  margin-bottom: .9rem;
}
.inform-icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: rgba(0,212,255,.12);
  border: 1px solid rgba(0,212,255,.28);
  color: var(--accent, #00d4ff);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.inform-title-wrap { min-width: 0; }
.inform-title {
  font-size: 1.02rem;
  font-weight: 600;
  color: var(--text-bright, #e8f4ff);
  margin: 0 0 .15rem;
  letter-spacing: .01em;
}
.inform-tag {
  font-size: .7rem;
  letter-spacing: .05em;
  color: var(--text-dim, #7a9ab8);
  margin: 0;
}
.inform-body {
  font-size: .88rem;
  line-height: 1.65;
  color: var(--text, #c8dce8);
  margin: 0 0 1.1rem;
}
.inform-body strong { color: var(--text-bright, #e8f4ff); font-weight: 600; }
.inform-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  padding: .75rem 1.5rem;
  background: var(--accent, #00d4ff);
  color: var(--bg, #030308);
  border-radius: 8px;
  text-decoration: none;
  font-size: .85rem;
  font-weight: 600;
  letter-spacing: .02em;
  transition: all .2s;
  min-height: 44px;
  box-shadow: 0 0 20px rgba(0,212,255,.28);
  margin: 0 auto;
  max-width: 320px;
}
.inform-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 0 32px rgba(0,212,255,.5);
}
.inform-btn:active { transform: translateY(0); }
.inform-note {
  font-size: .75rem;
  line-height: 1.55;
  color: var(--text-dim, #7a9ab8);
  margin: .9rem 0 0;
  text-align: center;
}
@media (max-width: 520px) {
  .thanks-inform { padding: 1.25rem 1.15rem 1rem; }
  .inform-title { font-size: .95rem; }
  .inform-btn { width: 100%; max-width: none; justify-content: center; }
}

/* ===== Receipt download button ===== */
.thanks-btn-receipt {
  background: rgba(0, 212, 255, 0.08);
  border-color: rgba(0, 212, 255, 0.35);
  color: var(--accent, #00d4ff);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.thanks-btn-receipt:hover {
  background: rgba(0, 212, 255, 0.16);
  border-color: var(--accent, #00d4ff);
  color: var(--accent, #00d4ff);
  box-shadow: 0 0 20px rgba(0, 212, 255, 0.28);
}
.thanks-btn-receipt svg { transition: transform 0.2s; }
.thanks-btn-receipt:hover svg { transform: translateY(2px); }
@media (prefers-reduced-motion: reduce) {
  .thanks-btn-receipt:hover svg { transform: none; }
}

/* ===== Informed Delivery button — force cyan ===== */
.inform-btn,
.ship-btn {
  background: #00d4ff !important;
  color: #030308 !important;
  border: 1px solid #00d4ff !important;
  box-shadow: 0 0 22px rgba(0, 212, 255, 0.28) !important;
}
.inform-btn:hover,
.ship-btn:hover {
  background: #00d4ff !important;
  color: #030308 !important;
  box-shadow: 0 0 34px rgba(0, 212, 255, 0.5) !important;
}

/* ===== Informed Delivery & Shipping Buttons — match contact-link style ===== */
.inform-btn,
.ship-btn {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  width: 100% !important;
  max-width: 100% !important;
  margin: 1.25rem 0 0 0 !important;
  padding: 0.95rem 1.1rem !important;
  background: rgba(3, 3, 8, 0.55) !important;
  border: 1px solid rgba(26, 42, 68, 0.9) !important;
  border-left: 2px solid rgba(0, 212, 255, 0.45) !important;
  border-radius: 6px !important;
  color: var(--accent, #00d4ff) !important;
  font-family: inherit !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  box-shadow: none !important;
}

.inform-btn:hover,
.ship-btn:hover {
  border-color: var(--accent, #00d4ff) !important;
  border-left-color: var(--accent, #00d4ff) !important;
  color: var(--accent, #00d4ff) !important;
  background: rgba(3, 3, 8, 0.55) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 0 20px var(--accent-glow, rgba(0, 212, 255, 0.25)) !important;
}

/* ===== Informed Delivery spacing fix ===== */
.inform-body,
.ship-note,
.intro + .ship-btn,
.intro + .inform-btn {
  margin-bottom: 1.5rem !important;
}

.ship-btn,
.inform-btn {
  margin-top: 1.5rem !important;
}

/* ===== Inform/Ship note text — match .intro styling ===== */
.inform-note,
.ship-note {
  font-size: 0.85rem !important;
  line-height: 1.7 !important;
  color: var(--text-dim) !important;
  margin: 1rem 0 0 !important;
  text-align: left !important;
  max-width: 100% !important;
}

/* ===== Safety page closing text — match .intro styling ===== */
.safety-close .safety-close-line {
  font-size: 0.85rem !important;
  line-height: 1.7 !important;
  color: var(--text-dim) !important;
  margin: 0 !important;
  text-align: left !important;
  max-width: 100% !important;
}

/* ===== Safety page closing text — make it pop ===== */
.safety-close .safety-close-line {
  font-size: 1.1rem !important;
  line-height: 1.6 !important;
  font-weight: 500 !important;
  color: var(--text-bright) !important;
  letter-spacing: 0.01em !important;
  margin: 0 auto !important;
  text-align: center !important;
  max-width: 52ch !important;
  padding: 1.5rem 0 !important;
  border-top: 1px solid rgba(26, 42, 68, 0.6) !important;
  border-bottom: 1px solid rgba(26, 42, 68, 0.6) !important;
}

/* ===== Safety closing text — dial it back ===== */
.safety-close .safety-close-line {
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  border: none !important;
  padding: 0 !important;
}
