:root {
  --ink: #25241f;
  --paper: #f4f1e9;
  --cream: #faf8f3;
  --orange: #d98116;
  --blue: #9dc5d7;
  --sage: #9fa77a;
  --pink: #d8aeb0;
}
* { box-sizing: border-box; }
* { min-width: 0; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: "DM Sans", sans-serif; }
body, main { max-width: 100%; overflow-x: hidden; }
button, input { font: inherit; }
button { cursor: pointer; }
.hidden { display: none !important; }
.brand { color: #fff; font: 600 clamp(20px, 2.15vw, 29px)/1 "Playfair Display", serif; text-decoration: none; letter-spacing: -1.1px; white-space: nowrap; }
.brand span { color: #d70000; }
.brand-red { color: #d70000; }
.nav {
  position: absolute;
  z-index: 5;
  inset: 22px 28px auto;
  height: 58px;
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(252,252,250,.16);
  border: 1.5px solid rgba(37,36,31,.82);
  border-radius: 999px;
  box-shadow: none;
  backdrop-filter: blur(4px);
}
.nav .brand { color: var(--ink); }
.nav-actions { display: flex; align-items: center; gap: 12px; }
.button { padding: 15px 24px; border: 1px solid #fff; border-radius: 100px; font-weight: 600; font-size: 15px; }
.button.ghost { background: transparent; color: #fff; }
.button.light { background: #fff; color: var(--ink); }
.icon-button, .menu-button { width: 48px; height: 48px; border: 2px solid var(--ink); border-radius: 50%; background: transparent; color: var(--ink); display: grid; place-items: center; }
.icon-button svg { width: 25px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.menu-button { gap: 7px; align-content: center; }
.menu-button span { width: 22px; height: 2px; background: var(--ink); display: block; }
.hero { position: relative; min-height: 100vh; overflow: hidden; display: grid; place-items: center; color: #2e2b2b; }
.tiles { position: absolute; inset: 0; background: url("homepage-background-rich-cropped.png") center / cover no-repeat; filter: none; transform: none; }
.tiles i { display: none; }
.hero-shade { position: absolute; inset: 0; background: transparent; backdrop-filter: none; }
.hero-content { position: relative; z-index: 2; width: min(980px, 88%); text-align: center; padding-top: 100px; }
.eyebrow, .section-label { text-transform: uppercase; letter-spacing: 2.5px; font-size: 12px; font-weight: 600; }
.hero h1 { margin: 34px 0 48px; font: 500 clamp(70px, 9vw, 142px)/.9 "Playfair Display", serif; letter-spacing: -6px; text-shadow: none; }
.hero h1 em, .promise h2 em { font-weight: 500; }
.intro { max-width: 590px; margin: 0 auto 34px; font-size: 18px; line-height: 1.55; text-shadow: none; }
.hero-cta {
  min-width: 228px;
  background:
    radial-gradient(circle at 26% 12%, rgba(255,255,255,.72) 0 16%, rgba(255,255,255,.28) 34%, rgba(255,255,255,0) 60%),
    linear-gradient(135deg, rgba(215,0,0,.085) 0%, rgba(250,243,235,.28) 45%, rgba(46,43,43,.055) 100%);
  border: 1.5px solid rgba(215,0,0,.78);
  color: #d70000;
  border-radius: 100px;
  padding: 19px 34px;
  font-weight: 600;
  letter-spacing: .01em;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.66);
  backdrop-filter: none;
}
.hero-cta:hover {
  background:
    radial-gradient(circle at 26% 12%, rgba(255,255,255,.78) 0 18%, rgba(255,255,255,.34) 36%, rgba(255,255,255,0) 62%),
    linear-gradient(135deg, rgba(215,0,0,.12) 0%, rgba(250,243,235,.32) 45%, rgba(46,43,43,.07) 100%);
  border-color: #d70000;
  color: #d70000;
}
.hero-foot { position: absolute; z-index: 2; bottom: 25px; left: 32px; right: 32px; display: flex; justify-content: space-between; text-transform: uppercase; letter-spacing: 1.6px; font-size: 10px; }
.scroll-cue b { font-size: 18px; margin-left: 9px; }
.promise { padding: 120px 7vw; background: var(--paper); }
.promise h2 { margin: 20px 0 70px; font: 500 clamp(54px, 7vw, 105px)/.95 "Playfair Display", serif; letter-spacing: -4px; }
.promise h2 + .question-answer { margin-top: -28px; }
.promise .question-answer + h2 { margin-bottom: 70px; }
.feature-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid #b8b4aa; }
.feature-grid article { padding: 28px 40px 20px 0; border-right: 1px solid #b8b4aa; }
.feature-grid article + article { padding-left: 40px; }
.feature-grid article:last-child { border: 0; }
.feature-grid article > span { color: #8c887e; font-size: 12px; }
.feature-grid h3 { font: 500 32px "Playfair Display", serif; margin: 45px 0 14px; }
.feature-grid p { color: #68655d; line-height: 1.6; max-width: 320px; }
dialog { width: min(900px, calc(100% - 30px)); max-height: calc(100vh - 32px); padding: 0; border: 0; border-radius: 24px; background: var(--cream); overflow: auto; box-shadow: 0 30px 100px #0007; }
dialog::backdrop { background: #171611b0; backdrop-filter: blur(8px); }
dialog[open] { display: grid; grid-template-columns: .9fr 1.1fr; }
.close { position: absolute; right: 18px; top: 16px; border: 0; background: transparent; font-size: 30px; z-index: 2; }
.auth-copy { min-height: 570px; padding: 42px; color: #1f1912; display: flex; flex-direction: column; justify-content: space-between; background: url("auth-background.png") center / cover no-repeat; }
.dark-brand { color: #fff; }
 .auth-copy .brand { color: #d70000; }
 .auth-copy .brand span { color: #1f1912; }
.auth-copy p:first-child { font-size: 11px; letter-spacing: 2px; }
.auth-copy h2 { font: 500 52px/1 "Playfair Display",serif; margin: 14px 0; }
.auth-copy p { line-height: 1.6; }
.auth-copy small { opacity: .8; }
#auth-form { padding: 80px 55px 40px; display: flex; flex-direction: column; justify-content: center; }
.field { display: grid; gap: 9px; margin-bottom: 20px; }
.field label { font-size: 13px; font-weight: 600; }
.field input { width: 100%; border: 0; border-bottom: 1px solid #aaa69d; padding: 13px 2px; outline: none; background: transparent; }
.field input:focus { border-color: var(--orange); }
#form-error { min-height: 20px; margin: 0 0 8px; color: #a03527; font-size: 13px; }
.submit-button { border: 0; border-radius: 100px; padding: 16px 20px 16px 25px; color: #fff; background: var(--ink); display: flex; align-items: center; justify-content: space-between; font-weight: 600; }
.submit-button span { font-size: 21px; }
.forgot-password { align-self: center; margin-top: 18px; border: 0; background: transparent; color: #1f1912; text-decoration: underline; font-size: 13px; }
.password-help { margin: 12px 0 0; color: #77736c; text-align: center; font-size: 12px; line-height: 1.45; }
.switch-copy { text-align: center; color: #77736c; font-size: 13px; margin-top: 24px; }
.switch-copy button { border: 0; background: transparent; text-decoration: underline; color: var(--ink); }
.dashboard { min-height: 100vh; display: grid; grid-template-columns: 240px 1fr; background: #f0eee8; }
.dashboard aside { padding: 34px 28px; background: var(--ink); color: #fff; display: flex; flex-direction: column; }
.dashboard aside .brand { color: #fff; }
.dashboard .brand { margin-bottom: 85px; }
.side-links { display: grid; gap: 8px; }
.side-links button, .logout { text-align: left; border: 0; background: transparent; color: #bdbbb3; padding: 13px 15px; border-radius: 10px; }
.side-links button.active { background: #ffffff12; color: #fff; }
.logout { margin-top: auto; }
.portal-menu-toggle {
  display: none;
  width: 46px;
  height: 46px;
  border: 1px solid rgba(255,255,255,.42);
  border-radius: 50%;
  background: transparent;
  place-items: center;
  padding: 0;
}
.portal-menu-toggle span {
  width: 19px;
  height: 1.5px;
  border-radius: 999px;
  background: #fff;
  display: block;
}
.dash-main { padding: 48px calc(5vw + 18px) 48px 5vw; }
#ledger-view {
  padding: 22px;
  margin: -22px;
  border-radius: 28px;
  overflow: hidden;
  background: transparent;
}
.dash-main header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 50px; }
.dash-main header p, .welcome-card span, .dash-grid article > p { letter-spacing: 2px; font-size: 10px; font-weight: 600; }
.dash-main header p { color: #b98a32; }
.dash-main header h2 { font: 500 45px "Playfair Display", serif; margin: 8px 0 0; }
.avatar { width: 50px; height: 50px; border-radius: 50%; display: grid; place-items: center; background: #d79a43; color: white; font: 500 20px "Playfair Display",serif; }
.welcome-card { min-height: 290px; padding: 42px; display: flex; flex-direction: column; justify-content: space-between; color: #fff; border-radius: 22px; background: linear-gradient(120deg,#23302daa,#23302de0), url("mosaic-background.svg") center / cover no-repeat; }
.welcome-card h3 { font: 500 47px/1.05 "Playfair Display",serif; margin: 13px 0; }
.welcome-card h3 .brand-red { color: #d70000; font: inherit; letter-spacing: inherit; text-transform: none; }
.welcome-card > p .brand-red { color: #d70000; font: inherit; font-weight: inherit; letter-spacing: inherit; text-transform: none; }
.welcome-card > p { max-width: 420px; align-self: flex-end; margin: 0; line-height: 1.6; }
.arena-hero .hero-copy-red,
.arena-hero .hero-copy-dark {
  font: inherit;
  letter-spacing: 0;
  text-transform: none;
}
.hero-copy-red { color: #d70000; font-weight: 800; }
.hero-copy-dark { color: #1f1912; font-weight: 800; }
.hero-copy-regular { font-weight: 400; }
.hero-copy-line {
  display: block;
  margin-top: 24px;
}
.arena-hero .hero-copy-divider-after {
  position: relative;
  padding-bottom: 20px;
  border-bottom: 0;
}
.arena-hero .hero-copy-divider-after::after,
.arena-hero .hero-copy-cta-divider::after {
  content: "";
  position: absolute;
  left: 50%;
  width: 76px;
  border-top: 1px solid #bd8642;
  transform: translateX(-50%);
}
.arena-hero .hero-copy-divider-after::after { bottom: 0; }
.arena-hero .hero-copy-divider-before {
  position: relative;
  padding-top: 20px;
  border-top: 0;
}
.arena-hero .hero-copy-divider-before::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 76px;
  border-top: 1px solid #bd8642;
  transform: translateX(-50%);
}
.arena-hero .hero-copy-cta-divider {
  position: relative;
  padding-bottom: 24px;
  border-bottom: 0;
  margin-bottom: 24px;
}
.arena-hero .hero-copy-cta-divider::after { bottom: 0; }
.dash-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 18px; }
.dash-grid article { min-height: 180px; padding: 26px; border-radius: 18px; background: #fff; }
.dash-grid h4 { font: 500 24px "Playfair Display",serif; margin: 40px 0 5px; }
.dash-grid span { color: #77736c; font-size: 13px; }
.add-card button { border: 1px solid #aaa69d; border-radius: 50%; width: 38px; height: 38px; background: transparent; }
.add-card h4 { margin-top: 27px; }
.arena-hero {
  position: relative;
  margin-bottom: 22px;
  overflow: hidden;
  background: linear-gradient(120deg, rgba(70,42,18,.26), rgba(70,42,18,.14));
  min-height: 360px;
}
.arena-hero::before {
  content: "";
  position: absolute;
  inset: -1px;
  z-index: 0;
  background: url("main-background-gorgeous-sales-copy-page.png") 58% center / cover no-repeat;
  transform: scale(1.02);
}
.arena-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(120deg, rgba(70,42,18,.26), rgba(70,42,18,.14));
}
.arena-hero > * { position: relative; z-index: 2; }
.arena-hero-panel {
  align-self: flex-start;
  width: min(880px, 100%);
  padding: clamp(28px, 4vw, 48px);
  border: 1px solid rgba(255, 249, 238, .68);
  border-radius: 26px;
  background: linear-gradient(135deg, rgba(232, 222, 209, .08), rgba(249, 244, 235, .06));
  box-shadow: 0 24px 70px rgba(50, 35, 24, .16), inset 0 1px 0 rgba(255,255,255,.72);
  backdrop-filter: blur(7px);
}
.arena-hero-panel > p {
  max-width: 560px;
  font-size: 16px;
  line-height: 1.6;
  font-weight: 600;
  margin-top: 28px;
  margin-bottom: 8px;
}
.arena-hero p strong { display: block; margin-top: 18px; color: #fff; font-weight: 700; }
.arena-hero p strong + strong { margin-top: 5px; }
.arena-button {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  align-self: flex-start;
  margin-top: 22px;
  border: 1px solid #bd8642;
  background: #fffdf8;
  color: #1f1912;
  border-radius: 999px;
  padding: 14px 22px;
  font-weight: 700;
  box-shadow: 0 10px 24px rgba(31, 25, 18, .16);
  backdrop-filter: blur(4px);
}
.arena-button span { color: #1f1912; font-weight: 400; font-size: 21px; line-height: 1; transform: translateY(-1px); }
.arena-button:hover { background: #fffaf0; }
.position-stages {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin: 30px 0 24px;
}
.cube-stage-list {
  display: grid;
  gap: 34px;
  margin-top: 30px;
}
.cube-stage .position-stages {
  margin: 0 0 16px;
}
.cube-stage .cube-grid {
  margin-bottom: 0;
}
.position-stages article {
  padding: 20px 28px;
  border: 1px solid #e2c983;
  border-radius: 24px;
  background: linear-gradient(135deg, #fffaf0, #f7ead0);
  box-shadow: 0 12px 34px rgba(147,105,34,.09);
  display: flex;
  align-items: center;
  gap: 12px;
}
.position-stages article::before {
  content: "";
  width: 2px;
  height: 46px;
  background: #12324a;
  display: block;
  flex: 0 0 auto;
}
.position-stages p,
.position-stages h4 {
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-family: "DM Sans", sans-serif;
  color: #8a8579;
}
.position-stages p { font-size: 10px; font-weight: 700; }
.position-stages h4 {
  margin-top: 0;
  font: 700 24px/.95 "DM Sans", sans-serif;
  letter-spacing: 2px;
  color: #d70000;
}
.position-stages em {
  display: block;
  margin-top: 11px;
  font: italic 500 18px/1.25 "Playfair Display", serif;
  color: #625b51;
}
.cube-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 18px; align-items: stretch; }
.cube {
  min-height: 235px;
  height: 100%;
  padding: 28px;
  border: 0;
  border-radius: 24px;
  text-align: left;
  color: var(--ink);
  background: #fff;
  box-shadow: 0 20px 60px rgba(40,34,24,.08);
  transition: transform .25s ease, box-shadow .25s ease, opacity .25s ease;
}
.cube span, .ledger-top p, .ledger-summary span, .ledger-actions span { letter-spacing: 2px; text-transform: uppercase; font-size: 10px; font-weight: 700; color: #8a8579; }
.cube span.brand-red { color: #d70000; }
.cube h4 { margin: 68px 0 12px; font: 500 30px/1.05 "Playfair Display", serif; }
.cube h4:first-child { margin-top: 88px; }
.cube p { margin: 0; color: #77736c; line-height: 1.55; }
.cube p .brand-red { color: #d70000; font: inherit; letter-spacing: inherit; text-transform: none; }
.cube.unlocked { background: linear-gradient(145deg, rgba(255,255,255,.9), rgba(244,241,233,.92)), url("mosaic-background.svg") center / cover; border: 1px solid #ded6c8; }
.cube.unlocked:hover { transform: translateY(-4px); box-shadow: 0 26px 70px rgba(40,34,24,.14); }
.cube.generated { background: linear-gradient(145deg, rgba(255,255,255,.9), rgba(244,241,233,.92)), url("mosaic-background.svg") center / cover; border: 1px solid #ded6c8; }
.cube.generated:hover { transform: translateY(-4px); box-shadow: 0 26px 70px rgba(40,34,24,.14); }
.cube-link { display: block; text-decoration: none; }
.cube.locked { opacity: .58; filter: grayscale(.35); }
.trajectory-net-worth-hero {
  margin: 0 0 18px;
  padding: clamp(52px, 9vw, 88px) clamp(24px, 4vw, 42px) clamp(62px, 10.8vw, 106px);
  border: 1px solid rgba(126, 151, 108, .45);
  border-radius: 22px;
  text-align: center;
  background:
    linear-gradient(135deg, rgba(255,255,255,.92), rgba(241,247,235,.82)),
    url("mosaic-background.svg") center / cover;
  box-shadow: 0 18px 50px rgba(40,34,24,.07);
}
.trajectory-net-worth-hero span {
  display: block;
  color: #d70000;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 700;
}
.trajectory-net-worth-hero strong {
  display: block;
  margin-top: 18px;
  color: #2f7a45;
  font: 600 clamp(54px, 8vw, 112px)/.88 "Playfair Display", serif;
}
.trajectory-net-worth-hero.negative strong {
  color: #d70000;
}
.liquid-net-worth-hero p {
  max-width: 560px;
  position: absolute;
  right: 24px;
  bottom: 24px;
  left: 24px;
  margin: 0 auto;
  color: #2e2b2b;
  font-size: 12px;
  line-height: 1.5;
}
.liquid-net-worth-hero {
  position: relative;
}
.liquid-net-worth-hero strong.negative { color: #ef9a9a; }
#trajectory-net-total { color: #2f7a45; }
#trajectory-net-total.negative { color: #d70000; }
.flow-card {
  margin: 0 0 18px;
  padding: 22px;
  border-radius: 22px;
  background: #fff;
  border: 1px solid #ded6c8;
  box-shadow: 0 18px 45px rgba(40,34,24,.06);
}
.flow-card p { margin: 0 0 14px; letter-spacing: 2px; text-transform: uppercase; font-size: 10px; font-weight: 700; color: #8a8579; }
.flow-line { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.flow-line span { padding: 9px 12px; border-radius: 999px; background: #f4f1e9; font-size: 13px; }
.flow-line b { color: #b18a42; font-weight: 500; }
.ledger-top { display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: center; margin-bottom: 26px; }
.ledger-top h2 { margin: 5px 0 0; font: 500 clamp(34px, 4vw, 58px)/.95 "Playfair Display", serif; letter-spacing: -2px; }
#ledger-view .ledger-top { margin-bottom: 56px; }
.dashboard:not(.arena-active) .dash-header { display: none; }
.briefing-top { grid-template-columns: 1fr; margin-bottom: 20px; }
.briefing-top h2 { margin-top: 0; color: #15351f; }
.back-button, .ledger-actions button {
  border: 1px solid #bab3a6;
  background: #fff;
  border-radius: 999px;
  padding: 12px 18px;
  color: var(--ink);
}
.room-bottom-action {
  width: 100%;
  margin-top: 10px;
  padding: 15px 20px;
  text-align: center;
}
#ledger-view-trajectory {
  border-color: #2f7a45;
  background: #2f7a45;
  color: #fff;
}
.save-status { display: none; }
.launch-hidden { display: none !important; }
.month-tabs { display: flex; gap: 8px; overflow-x: auto; padding: 8px 0 22px; }
.month-tabs button { min-width: 58px; border: 1px solid #c8c0b3; background: #fff; color: #6b645a; border-radius: 12px; padding: 10px 12px; }
.month-tabs button.active { background: #d70000; color: #fff; border-color: #d70000; }
.month-tabs button.completed { border-color: #d70000; color: #d70000; }
.month-tabs button.completed.active { background: #d70000; color: #fff; border-color: #d70000; }
.ledger-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 8px 0 18px; }
.ledger-summary > div { min-height: 92px; padding: 18px; border-radius: 18px; background: #fff; box-shadow: 0 14px 40px rgba(40,34,24,.06); }
.ledger-summary strong { display: block; margin-top: 12px; font: 500 30px/1 "Playfair Display", serif; }
.inflation-note { font-size: 13px; color: #6f695f; line-height: 1.5; }
.inflation-note input { width: 58px; margin: 0 3px; padding: 6px 4px; border: 0; border-bottom: 1px solid #aaa69d; background: transparent; text-align: center; }
.comparison-panel {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin: 0 0 18px;
  padding: 18px;
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(37,36,31,.94), rgba(37,36,31,.82)), url("mosaic-background.svg") center / cover;
  color: #fff;
  box-shadow: 0 18px 50px rgba(40,34,24,.11);
}
.comparison-panel div { padding: 12px 14px; border: 1px solid rgba(255,255,255,.18); border-radius: 16px; background: rgba(255,255,255,.06); }
.comparison-panel span { display: block; color: rgba(255,255,255,.72); letter-spacing: 2px; text-transform: uppercase; font-size: 10px; font-weight: 700; }
.comparison-panel strong { display: block; margin-top: 10px; font: 500 28px/1 "Playfair Display", serif; }
.comparison-panel p { grid-column: 1 / -1; margin: 4px 0 0; font-size: 16px; line-height: 1.55; }
.ledger-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin: 0 0 14px; max-width: 100%; }
.ledger-backup-actions { display: grid; grid-template-columns: 1fr; gap: 12px; }
.ledger-backup-actions #export-backup,
.ledger-backup-actions .import-backup {
  width: 100%;
  min-height: 54px;
  box-sizing: border-box;
  border: 1px solid #2766b0;
  background: #fff;
  color: #2e2b2b;
  border-radius: 999px;
  padding: 15px 20px;
  text-align: center;
  font-size: 16px;
  font-weight: 400;
}
.ledger-backup-actions #copy-previous {
  width: 100%;
  min-height: 54px;
  box-sizing: border-box;
  border: 1px solid #e2c983;
  background: #fff;
  color: #2e2b2b;
  border-radius: 999px;
  padding: 15px 20px;
  text-align: center;
  font-size: 16px;
  font-weight: 400;
}
.ledger-save-actions { display: grid; grid-template-columns: 1fr; gap: 8px; margin-bottom: 18px; }
.ledger-save-actions .save-month-button { width: 100%; }
.ledger-save-actions #save-status { margin: 0; text-align: center; color: #8a8579; font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase; }
.ledger-actions span { margin-left: auto; }
.ledger-actions .save-month-button {
  border-color: var(--ink);
  background: var(--ink);
  color: #fff;
  font-weight: 700;
}
.ledger-actions .save-month-button:hover {
  transform: translateY(-1px);
}
.import-backup {
  border: 1px solid #bab3a6;
  background: #fff;
  border-radius: 999px;
  padding: 12px 18px;
  color: var(--ink);
  cursor: pointer;
  font-size: 14px;
}
.import-backup input { display: none; }
.privacy-note {
  margin: 0 0 18px;
  padding: 15px 18px;
  border: 1px solid #ddd5c7;
  border-radius: 16px;
  background: #fffaf0;
  color: #625b51;
  line-height: 1.55;
  font-size: 14px;
}
.privacy-note strong { color: #4e483f; }
.fill-instruction {
  margin: 24px 0 26px;
  padding: 20px 22px;
  border: 1px solid #e2c983;
  border-radius: 18px;
  background: linear-gradient(135deg, #fffaf0, #f7ead0);
  color: #4d463b;
  line-height: 1.55;
  box-shadow: 0 12px 34px rgba(147,105,34,.09);
}
.fill-instruction h3 {
  margin: 0 0 14px;
  color: var(--ink);
  font: 700 18px/1.25 "DM Sans", sans-serif;
}
.fill-instruction p {
  margin: 0;
  max-width: 760px;
}
.fill-instruction p + p { margin-top: 12px; }
.fill-instruction strong { color: var(--ink); }
.fill-instruction em { color: var(--ink); }
.quick-grid { display: grid; gap: 12px; margin: 0 0 18px; }
.quick-row {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) minmax(130px, 190px);
  gap: 14px;
  align-items: center;
  padding: 16px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid #e5ddcf;
  box-shadow: 0 12px 34px rgba(40,34,24,.05);
}
.quick-row > span { color: #b18a42; font-weight: 700; letter-spacing: 1.5px; }
.quick-row strong { display: block; color: #d70000; font-size: 15px; }
.quick-row small { display: block; margin-top: 4px; color: #77736c; line-height: 1.35; }
.quick-row input {
  width: 100%;
  border: 1.5px solid #d3b359;
  border-radius: 999px;
  padding: 12px 14px;
  text-align: right;
  outline: 0;
  background: #fffdf8;
}
.quick-row input:focus { border-color: var(--orange); box-shadow: 0 0 0 4px rgba(211,179,89,.18); }
.ledger-next-step {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 0 0 18px;
  padding: 18px 20px;
  border-radius: 20px;
  background:
    linear-gradient(135deg, rgba(255,250,240,.88), rgba(250,243,235,.78)),
    url("homepage-background-rich-cropped.png") center / cover no-repeat;
  border: 1px solid #ded6c8;
  box-shadow: 0 12px 34px rgba(40,34,24,.05);
}
.ledger-next-step p { margin: 0; color: #625b51; line-height: 1.45; }
.ledger-next-step button {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--ink);
  border-radius: 999px;
  background: var(--ink);
  color: #fff;
  padding: 12px 18px;
  font-weight: 700;
}
.ledger-next-step span { font-size: 18px; font-weight: 400; }
.brand-red { color: #d70000; }
.trap-mini-panel {
  margin: 0 0 22px;
  padding: clamp(24px, 4vw, 42px);
  border: 1px solid #e2c983;
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(255,250,240,.94), rgba(244,241,233,.86)),
    url("mosaic-background.svg") center / cover;
  box-shadow: 0 18px 50px rgba(40,34,24,.07);
}
.trap-intro {
  max-width: 760px;
  margin: 14px 0 0;
  color: #625b51;
  font-size: clamp(18px, 2vw, 24px);
  line-height: 1.35;
}
.trap-mini-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin: 24px 0 18px;
}
.trap-mini-grid label {
  display: grid;
  gap: 10px;
  padding: 18px;
  border: 1px solid #e5ddcf;
  border-radius: 18px;
  background: rgba(255,255,255,.82);
}
.trap-mini-grid span,
.trap-results span,
.trap-mini-note,
.trap-total-card span,
.trap-asset-card span,
.trap-asset-money small {
  letter-spacing: 2px;
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 700;
  color: #8a8579;
}
.trap-mini-grid input {
  width: 100%;
  border: 1.5px solid #d3b359;
  border-radius: 12px;
  padding: 13px 14px;
  background: #fffdf8;
  color: var(--ink);
  font: 600 18px/1 "DM Sans", sans-serif;
  outline: 0;
}
.trap-mini-grid small {
  color: #77736c;
  line-height: 1.4;
}
.trap-mini-grid input:focus { border-color: var(--orange); box-shadow: 0 0 0 4px rgba(211,179,89,.18); }
.trap-total-card {
  margin: 0 0 14px;
  padding: 22px;
  border: 1px solid #ded6c8;
  border-radius: 18px;
  background: rgba(255,255,255,.78);
}
.trap-total-card strong {
  display: block;
  margin-top: 8px;
  color: #d70000;
  font: 600 clamp(40px, 5vw, 74px)/.9 "Playfair Display", serif;
}
.trap-total-card p {
  margin: 10px 0 0;
  color: #625b51;
}
.trap-results {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  margin-bottom: 14px;
}
.trap-results article {
  padding: 24px;
  border: 1px solid rgba(215, 0, 0, .22);
  border-radius: 22px;
  background: rgba(255,255,255,.82);
}
.trap-results article.trap-results-feature {
  background: linear-gradient(135deg, rgba(255,255,255,.94), rgba(255,250,240,.86));
  border-color: rgba(215, 0, 0, .26);
}
.trap-results strong {
  display: block;
  margin: 14px 0 12px;
  font: 600 clamp(46px, 7vw, 96px)/.9 "Playfair Display", serif;
  letter-spacing: -1.5px;
  color: #d70000;
}
.trap-results p {
  margin: 0;
  color: #625b51;
  line-height: 1.45;
}
.trap-asset-list {
  display: grid;
  gap: 12px;
}
.trap-asset-card {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(150px, .7fr) minmax(180px, .8fr);
  align-items: center;
  gap: 16px;
  padding: 18px;
  border: 1px solid #e5ddcf;
  border-radius: 18px;
  background: rgba(255,255,255,.82);
}
.trap-asset-card.best {
  border-color: rgba(47, 122, 69, .4);
  background: linear-gradient(135deg, rgba(255,255,255,.95), rgba(241,247,235,.84));
}
.trap-asset-card h4 {
  margin: 7px 0 4px;
  font: 500 clamp(24px, 2.8vw, 36px)/1 "Playfair Display", serif;
}
.trap-asset-card p,
.trap-asset-money small {
  margin: 0;
  color: #77736c;
}
.trap-asset-money strong {
  display: block;
  margin-top: 6px;
  color: var(--ink);
  font: 700 clamp(22px, 2.4vw, 34px)/1 "DM Sans", sans-serif;
}
.trap-mini-note {
  margin: 20px 0 0;
  line-height: 1.5;
  text-transform: none;
  letter-spacing: .02em;
}
.score-panel, .map-panel, .next-move-card {
  margin: 0 0 18px;
  padding: 24px;
  border-radius: 22px;
  background: #fff;
  border: 1px solid #ded6c8;
  box-shadow: 0 18px 45px rgba(40,34,24,.06);
}
.score-panel {
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 22px;
  align-items: center;
  background: linear-gradient(135deg, #fffaf0, #f4f1e9);
}
.score-panel span, .next-move-card p, .map-head p, .dashboard-grid span {
  display: block;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 700;
  color: #8a8579;
}
.score-panel strong { font: 500 58px/1 "Playfair Display", serif; }
.score-panel small { color: #77736c; }
.score-panel p { margin: 0; line-height: 1.6; color: #565148; }
.map-head h3, .next-move-card h3 { margin: 7px 0 0; font: 500 30px/1.08 "Playfair Display", serif; }
#money-map-view .liquidity-title {
  color: #659c0d;
}
.placement-bars { display: grid; gap: 28px; margin-top: 20px; }
.placement-bars div {
  display: grid;
  grid-template-columns: minmax(160px, .45fr) minmax(0, 1fr) 45px;
  gap: 10px;
  align-items: center;
}
.placement-bars span { color: #625b51; font-size: 13px; font-weight: 700; }
.placement-bars em {
  grid-column: 1 / -1;
  margin-top: -2px;
  color: #625b51;
  font-size: 14px;
  font-style: normal;
  line-height: 1.45;
}
.placement-bars em + em {
  margin-top: -7px;
  color: #8a8579;
  font-style: italic;
}
.placement-bars b {
  display: block;
  height: 14px;
  min-width: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, #d08a23, #e7cf7e);
}
.placement-bars .debt-row b { background: linear-gradient(90deg, #d70000, #ef9a9a); }
.placement-bars small { text-align: right; color: #77736c; }
.visual-placement-bars { gap: 24px; }
.visual-placement-bars > .liquidity-mini-section {
  display: grid;
  grid-template-columns: minmax(150px, 220px) minmax(0, 1fr);
  gap: 20px;
  align-items: center;
  padding: 0 0 24px;
  border-bottom: 1px solid #e5ddcf;
}
.visual-placement-bars > .liquidity-mini-section:last-child { padding-bottom: 0; border-bottom: 0; }
.liquidity-mini-section img { width: 100%; height: 150px; object-fit: cover; object-position: center; border-radius: 16px; }
.visual-placement-bars > .liquidity-mini-section > .liquidity-mini-copy { display: block; min-width: 0; grid-template-columns: none; gap: 0; }
.liquidity-mini-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(50px, 1fr) 45px; gap: 12px; align-items: center; }
.liquidity-mini-head span { color: #625b51; font-size: 13px; font-weight: 700; }
.liquidity-mini-head b { display: block; height: 14px; min-width: 4px; border-radius: 999px; background: linear-gradient(90deg, #d08a23, #e7cf7e); }
.liquidity-mini-head small { text-align: right; color: #77736c; }
.liquidity-mini-copy em { display: block; grid-column: auto; margin-top: 10px; color: #625b51; font-size: 14px; font-style: normal; line-height: 1.45; }
.visual-placement-bars .debt-row .liquidity-mini-head b { background: linear-gradient(90deg, #d70000, #ef9a9a); }
.liquidity-nav-actions { display: grid; grid-template-columns: 1fr; gap: 12px; margin-top: 18px; }
.liquidity-nav-actions .room-bottom-action { margin-top: 0; }
.liquidity-nav-actions .home-nav, .liquidity-nav-actions .ledger-nav { border-color: #cfc4b3; background: #fff; color: #2e2b2b; font-weight: 400; }
.liquidity-nav-actions .runway-nav { border-color: #2766b0; background: #2766b0; }
.liquidity-nav-actions .trajectory-nav { border-color: #2f7a45; background: #2f7a45; }
.visual-placement-bars > .liquidity-mini-section:first-child img { object-position: center 68%; }
.visual-placement-bars > .liquidity-mini-section.debt-row img { object-position: center top; }
.portal-disclaimer {
  margin-top: 24px;
  padding: 16px 18px;
  border: 1px solid #ded6c8;
  border-radius: 16px;
  background: rgba(244, 241, 233, .72);
  color: #77736c;
  font-size: 12px;
  line-height: 1.5;
  text-align: center;
}
.portal-disclaimer strong { color: #1f1912; }
.dashboard-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}
.dashboard-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dashboard-score-card { margin-bottom: 18px; }
.dashboard-grid article, .dashboard-score-card article {
  min-height: 170px;
  padding: 22px;
  border-radius: 22px;
  background: #fff;
  border: 1px solid #ded6c8;
  box-shadow: 0 18px 45px rgba(40,34,24,.06);
}
.dashboard-score-card article {
  min-height: 245px;
  padding: 30px 34px;
}
.dashboard-score-card strong {
  display: block;
  margin: 22px 0 14px;
  font: 500 clamp(52px, 6vw, 86px)/.9 "Playfair Display", serif;
}
.dashboard-score-card p {
  max-width: 980px;
  margin: 0;
  color: #625b51;
  line-height: 1.55;
  font-size: clamp(17px, 1.5vw, 23px);
}
#runway-view .runway-title {
  color: #2766b0;
}
#runway-view .runway-feature article {
  padding: 52px 34px 64px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.92), rgba(241,247,235,.82)),
    url("mosaic-background.svg") center / cover;
  border: 1px solid rgba(126, 151, 108, .35);
}
#runway-view .runway-feature span {
  color: #2766b0;
}
#runway-view .runway-feature p .runway-red {
  color: #d70000;
}
.runway-image-card {
  min-height: 245px;
  margin: 0 0 18px;
  padding: 22px;
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.88), rgba(241,247,235,.78)),
    url("mosaic-background.svg") center / cover;
  border: 1px solid rgba(126, 151, 108, .35);
  box-shadow: 0 18px 45px rgba(40,34,24,.06);
  display: grid;
  place-items: center;
  overflow: hidden;
}
.runway-image-card img {
  width: 100%;
  height: 100%;
  max-height: 360px;
  object-fit: cover;
  object-position: center 72%;
  border-radius: 16px;
}
.liquidity-image-card {
  margin-top: 18px;
}
.trajectory-quote-card strong {
  max-width: 980px;
  margin-top: 0;
  font-family: "DM Sans", sans-serif;
  font-size: clamp(30px, 4vw, 58px);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.trajectory-quote-card p {
  margin-top: 24px;
  color: #8a8579;
  font-size: clamp(16px, 1.3vw, 19px);
  letter-spacing: 1.8px;
  text-transform: uppercase;
}
.trajectory-card {
  margin: 0 0 18px;
  padding: clamp(20px, 3vw, 30px);
  border-radius: 24px;
  background: #fff;
  border: 1px solid #ded6c8;
  box-shadow: 0 18px 45px rgba(40,34,24,.06);
}
.trajectory-chart {
  margin-top: 20px;
  min-height: 0;
  padding: 12px;
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.72), rgba(250,243,235,.74)),
    url("homepage-background-rich-cropped.png") center / cover no-repeat,
    linear-gradient(90deg, rgba(208,138,35,.08), rgba(168,202,220,.08));
  overflow: hidden;
}
.trajectory-chart svg {
  display: block;
  width: 100%;
  height: auto;
}
.trajectory-bg { fill: rgba(255,255,255,.18); }
.trajectory-grid {
  stroke: rgba(68,63,57,.24);
  stroke-width: 1;
}
.trajectory-zero {
  stroke: rgba(37,36,31,.72);
  stroke-width: 1.55;
  stroke-dasharray: 5 5;
}
.trajectory-month-line {
  stroke: rgba(160,111,42,.18);
  stroke-width: 1;
}
.trajectory-line {
  fill: none;
  stroke: #d70000;
  stroke-width: 4;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.trajectory-forecast-line {
  fill: none;
  stroke: rgba(215,0,0,.28);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.trajectory-point {
  fill: #fffaf3;
  stroke: #d70000;
  stroke-width: 3;
}
.trajectory-forecast-point {
  fill: rgba(255,250,243,.74);
  stroke: rgba(215,0,0,.30);
  stroke-width: 2;
}
.trajectory-axis-label,
.trajectory-month-label,
.trajectory-zero-label {
  fill: #4f4a43;
  font-family: "DM Sans", sans-serif;
  font-size: 12px;
}
.trajectory-zero-label {
  fill: #524b41;
  font-size: 11px;
  letter-spacing: 1.4px;
  text-transform: uppercase;
}
.trajectory-month-label-future {
  fill: rgba(79,74,67,.58);
}
.trajectory-placeholder {
  min-height: 230px;
  display: grid;
  place-items: center;
  text-align: center;
  color: #625b51;
  font-size: clamp(17px, 1.6vw, 22px);
  line-height: 1.45;
}
.trajectory-insight-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 18px;
  margin-bottom: 18px;
}
.trajectory-change-card,
.trajectory-balance-card {
  min-height: 260px;
}
.trajectory-change-list {
  list-style: none;
  display: grid;
  gap: 12px;
  margin: 22px 0 0;
  padding: 0;
}
.trajectory-change-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 15px 0;
  border-top: 1px solid rgba(98,91,81,.14);
}
.trajectory-change-list span,
.trajectory-balance-bars span,
.trajectory-net-equation span {
  color: #77736c;
  font-size: 14px;
}
.trajectory-red-phrase {
  color: #d70000;
  font: inherit;
}
.trajectory-change-list b {
  color: #25241f;
  font-weight: 900;
  letter-spacing: .7px;
  text-transform: uppercase;
}
.trajectory-change-list b.positive-word {
  color: #4f7a45;
}
.trajectory-change-list em {
  color: #d70000;
  font-style: italic;
}
.trajectory-note {
  opacity: .78;
}
.trajectory-change-list strong {
  color: var(--ink);
  font-size: clamp(16px, 1.45vw, 21px);
  font-weight: 700;
  white-space: nowrap;
}
.trajectory-balance-bars {
  display: grid;
  gap: 17px;
  margin-top: 22px;
}
.trajectory-balance-bars strong,
.trajectory-net-equation strong {
  display: block;
  margin: 6px 0 8px;
  font: 500 clamp(25px, 3vw, 42px)/1 "Playfair Display", serif;
}
.trajectory-mini-bar {
  height: 13px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(138,133,121,.13);
}
.trajectory-mini-bar i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #d08a23, #e7cf7e);
}
.trajectory-mini-bar.debt i {
  background: linear-gradient(90deg, rgba(215,0,0,.76), rgba(215,0,0,.20));
}
.trajectory-net-equation {
  margin-top: 4px;
  padding-top: 17px;
  border-top: 1px solid rgba(98,91,81,.18);
}
.trajectory-verdict-card {
  position: relative;
  overflow: hidden;
  margin: 0 0 18px;
  padding: 18px 20px;
  border: 1px solid #ded6c8;
  border-radius: 20px;
  box-shadow: 0 12px 34px rgba(40,34,24,.05);
}
.trajectory-verdict-card::after {
  content: "💰";
  position: absolute;
  right: clamp(24px, 5vw, 58px);
  top: 50%;
  transform: translateY(-50%);
  width: clamp(46px, 7vw, 78px);
  height: clamp(46px, 7vw, 78px);
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: linear-gradient(135deg, #fff2b8, #d89c25 48%, #8c5a13);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.68),
    0 12px 30px rgba(0,0,0,.20);
  font-size: clamp(22px, 3.4vw, 38px);
}
.trajectory-verdict-card p {
  max-width: 1080px;
  margin: 0;
  text-align: left;
  color: #fff;
  font-family: "DM Sans", sans-serif;
  font-size: clamp(23px, 2.75vw, 44px);
  font-weight: 650;
  letter-spacing: -.035em;
  line-height: 1.12;
}
.gold-script {
  display: inline-block;
  padding: 0 .05em .04em;
  color: #d9a12f;
  font-family: inherit;
  font-style: normal;
  font-weight: 760;
  font-size: 1em;
  line-height: inherit;
  letter-spacing: inherit;
  background: linear-gradient(100deg, #8a5613 0%, #f8e59b 28%, #d49a24 48%, #fff4b9 64%, #9b6818 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow:
    0 1px 0 rgba(255,255,255,.85),
    0 6px 16px rgba(126,82,10,.18);
}
.softening-word {
  color: #d70000;
  font: inherit;
  font-style: italic;
  font-weight: 900;
}
.trajectory-verdict-card.strengthening {
  background:
    radial-gradient(circle at 82% 42%, rgba(216,156,37,.22), transparent 30%),
    linear-gradient(105deg, #101b29 0%, #182a3b 48%, #25415a 100%);
}
.trajectory-verdict-card.softening {
  background:
    radial-gradient(circle at 82% 42%, rgba(216,156,37,.18), transparent 30%),
    linear-gradient(105deg, #161a22 0%, #2a1f25 52%, rgba(105,19,28,.92) 100%);
}
.trajectory-verdict-card::after {
  content: none;
  display: none;
}
.trajectory-verdict-card p {
  max-width: none;
  margin: 0;
  color: #625b51;
  font: inherit;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0;
}
.trajectory-verdict-card .bright-green {
  color: inherit;
  font: inherit;
  text-shadow: none;
}
.trajectory-verdict-card .gold-script {
  padding: 0;
  color: #fff;
  font: inherit;
  background: none;
  -webkit-background-clip: initial;
  background-clip: initial;
  text-shadow: none;
}
.trajectory-verdict-card.strengthening {
  background:
    linear-gradient(135deg, rgba(255,250,240,.88), rgba(250,243,235,.78)),
    url("homepage-background-rich-cropped.png") center / cover no-repeat;
}
.room-nav-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 18px;
}
.primary-room-action {
  border: 1px solid var(--ink);
  border-radius: 999px;
  background: var(--ink);
  color: #fff;
  padding: 16px 22px;
  font-weight: 700;
  font-size: 16px;
}
.primary-room-action span {
  display: inline-block;
  margin-left: 10px;
  font-weight: 400;
}
#position-score-view #trajectory-open-runway {
  border-color: #2766b0;
  background: #2766b0;
}
#runway-view #runway-open-liquidity {
  border-color: #659c0d;
  background: #659c0d;
}
#money-map-view #map-open-briefing {
  border-color: #bd8642;
  background: #bd8642;
}
#position-score-view #trajectory-open-runway {
  border-color: #2766b0;
  background: #2766b0;
}
#runway-view #runway-open-liquidity {
  border-color: #659c0d;
  background: #659c0d;
}
.dashboard-grid strong { display: block; margin: 18px 0 10px; font: 500 31px/1 "Playfair Display", serif; }
.dashboard-grid p { margin: 0; color: #77736c; line-height: 1.45; font-size: 14px; }
.dashboard-room-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}
.dashboard-room-links button {
  min-height: 150px;
  padding: 24px;
  border: 1px solid #ded6c8;
  border-radius: 22px;
  background: #fff;
  color: var(--ink);
  text-align: left;
  box-shadow: 0 18px 45px rgba(40,34,24,.06);
}
.dashboard-room-links span {
  display: block;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 700;
  color: #8a8579;
}
.dashboard-room-links strong {
  display: block;
  margin: 28px 0 9px;
  font: 500 28px/1.05 "Playfair Display", serif;
}
.dashboard-room-links small { display: block; color: #77736c; line-height: 1.45; font-size: 14px; }
.dashboard-room-links button:hover { transform: translateY(-3px); box-shadow: 0 24px 58px rgba(40,34,24,.1); }
.briefing-card {
  display: grid;
  grid-template-columns: minmax(240px, .9fr) minmax(0, 1.1fr);
  min-height: 520px;
  overflow: hidden;
  border-radius: 30px;
  border: 1px solid #ded6c8;
  background: #fffaf3;
  box-shadow: 0 24px 70px rgba(40,34,24,.09);
}
.briefing-media {
  min-height: 320px;
  background:
    linear-gradient(145deg, rgba(37,36,31,.08), rgba(70,42,18,.03)),
    url("briefing-room-image.png") center / cover no-repeat;
}
.briefing-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(30px, 5vw, 64px);
}
.briefing-copy span, .vault-card span, .briefing-save-label {
  letter-spacing: 2.5px;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 700;
  color: #8a8579;
}
.briefing-copy h3 {
  margin: 24px 0 18px;
  max-width: 680px;
  font: 600 clamp(28px, 3.4vw, 46px)/1.18 "Courier New", "Lucida Console", monospace;
  letter-spacing: .11em;
  text-transform: uppercase;
  color: #272622;
  text-shadow: .5px .5px 0 rgba(39,38,34,.14);
}
.telegram-divider {
  width: min(440px, 82%);
  height: 10px;
  margin: 10px 0 30px;
  border-top: 1px solid rgba(39,38,34,.72);
  border-bottom: 1px solid rgba(39,38,34,.72);
  opacity: .9;
}
.telegram-divider::before,
.telegram-divider::after { content: none; }
.telegram-divider-top {
  margin: 18px 0 22px;
}
.briefing-copy p {
  margin: 0;
  max-width: 620px;
  color: #625b51;
  font-size: clamp(17px, 1.7vw, 24px);
  line-height: 1.45;
}
.briefing-action {
  margin: 30px 0;
  padding: 22px;
  border-radius: 22px;
  background: #fff;
  border: 1px solid #eadfce;
}
.briefing-action small {
  display: block;
  margin-bottom: 8px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #d70000;
  font-weight: 700;
}
.briefing-action strong { display: block; color: var(--ink); font-size: 18px; line-height: 1.35; }
.briefing-save { align-self: flex-start; min-width: 220px; }
.briefing-save-label { display: block; margin-bottom: 10px; color: #d79a1f !important; }
.briefing-status { margin-top: 16px !important; font-size: 14px !important; color: #8a8579 !important; }
.briefing-frequency { margin: 22px 0 0 !important; color: #8a8579 !important; font-size: 11px !important; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase; }
.vault-intro {
  margin-bottom: 18px;
  padding: 24px 28px;
  border-radius: 22px;
  background: #fffaf3;
  border: 1px solid #ded6c8;
}
.vault-intro p { margin: 0; color: #625b51; line-height: 1.55; }
.vault-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; }
.vault-card, .vault-empty {
  min-height: 230px;
  padding: 28px;
  border-radius: 24px;
  border: 1px solid #ded6c8;
  background: linear-gradient(145deg, rgba(255,255,255,.9), rgba(244,241,233,.92)), url("mosaic-background.svg") center / cover;
  box-shadow: 0 18px 45px rgba(40,34,24,.06);
}
.vault-card h3, .vault-empty h3 {
  margin: 42px 0 12px;
  font: 500 30px/1.05 "Playfair Display", serif;
}
.vault-card p, .vault-empty p { color: #625b51; line-height: 1.5; }
.vault-card strong { display: block; margin-top: 16px; color: var(--ink); line-height: 1.35; }
.vault-remove {
  margin-top: 24px;
  border: 1px solid #cfc4b3;
  border-radius: 999px;
  background: rgba(255,255,255,.72);
  color: #625b51;
  padding: 10px 16px;
  font: 700 12px/1 "DM Sans", sans-serif;
  letter-spacing: .7px;
  text-transform: uppercase;
}
.vault-remove:hover { background: #fff; color: var(--ink); transform: translateY(-1px); }
.sheet-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; align-items: start; }
.sheet-column { overflow: hidden; border-radius: 22px; background: #fff; box-shadow: 0 18px 50px rgba(40,34,24,.07); }
.sheet-column h3 { margin: 0; padding: 22px 24px; background: #292722; color: #fff; font: 500 32px/1 "Playfair Display", serif; }
.sheet-row { display: grid; grid-template-columns: 1fr 150px; gap: 14px; align-items: center; padding: 12px 16px; border-bottom: 1px solid #eee8dd; }
.sheet-row span { color: #48443e; font-size: 14px; }
.sheet-row input {
  width: 100%;
  border: 1.5px solid #d3b359;
  border-radius: 999px;
  padding: 10px 13px;
  text-align: right;
  outline: 0;
  background: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 6px 18px rgba(147,105,34,.08);
}
.sheet-row input::placeholder { color: #b8aa8d; }
.sheet-row input:focus { border-color: var(--orange); background: #fffdf8; box-shadow: 0 0 0 4px rgba(211,179,89,.18); }
@media (max-width: 760px) {
  .nav { inset: 12px 14px auto; padding: 0 18px; height: 54px; border-radius: 999px; }
  .nav .brand { font-size: 18px; letter-spacing: -.7px; }
  .icon-button, .menu-button { display: none; }
  .button { padding: 12px 15px; }
  .hero h1 { margin-bottom: 38px; letter-spacing: -4px; font-size: clamp(58px, 18vw, 96px); line-height: .94; }
  .hero-content { padding-top: 78px; }
  .intro { font-size: 15px; }
  .feature-grid { grid-template-columns: 1fr; }
  .feature-grid article, .feature-grid article + article { border-right: 0; border-bottom: 1px solid #b8b4aa; padding: 25px 0; }
  dialog[open] { grid-template-columns: 1fr; }
  .auth-copy { min-height: 220px; padding: 30px; }
  .auth-copy h2 { font-size: 38px; }
  .auth-copy small { display: none; }
  #auth-form { padding: 38px 30px; }
  .dashboard { grid-template-columns: 1fr; }
  .dashboard aside { position: sticky; top: 0; z-index: 20; padding: 16px 18px; flex-direction: row; align-items: center; gap: 10px; }
  .dashboard .brand { margin: 0 auto 0 0; }
  .side-links { display: none; }
  .logout { margin: 0; }
  .portal-menu-toggle { display: grid; gap: 4px; align-content: center; justify-content: center; }
  .dashboard.menu-open .side-links {
    position: absolute;
    display: grid;
    left: 14px;
    right: 14px;
    top: calc(100% + 8px);
    padding: 12px;
    border-radius: 18px;
    background: var(--ink);
    box-shadow: 0 18px 48px rgba(0,0,0,.22);
  }
  .dashboard.menu-open .side-links button { text-align: center; }
  .dash-main { padding: 35px 30px 35px 20px; }
  .dashboard, .dash-main, #arena-view, #ledger-view {
    width: 100%;
    max-width: 100vw;
    overflow-x: hidden;
  }
  #ledger-view { padding: 18px 24px 18px 18px; margin: -18px -12px -18px -18px; border-radius: 22px; }
  .dash-main header h2 { font-size: 34px; }
  .dash-grid { grid-template-columns: 1fr; }
  .cube-grid, .ledger-summary, .comparison-panel, .sheet-wrap, .ledger-top, .quick-row, .score-panel, .dashboard-grid, .dashboard-metrics, .dashboard-room-links, .briefing-card, .trajectory-insight-grid, .trap-mini-grid, .trap-results, .trap-asset-card { grid-template-columns: 1fr; }
  .ledger-top { gap: 20px; margin-bottom: 24px; }
  #ledger-view .ledger-top { margin-bottom: 50px; }
  .ledger-top h2 { font-size: 36px; letter-spacing: -1px; }
  .ledger-summary, .comparison-panel, .sheet-wrap { width: 100%; min-width: 0; }
  .comparison-panel { padding: 14px; overflow: hidden; }
  .comparison-panel div, .ledger-summary > div, .sheet-column, .cube { min-width: 0; }
  .comparison-panel p {
    max-width: 100%;
    overflow-wrap: break-word;
    word-break: normal;
    white-space: normal;
    font-size: 15px;
  }
  .ledger-actions { display: grid; grid-template-columns: 1fr; align-items: stretch; }
  .room-nav-actions { grid-template-columns: 1fr; }
  .trajectory-verdict-card { border-radius: 28px; padding: 28px 24px; }
  .trajectory-verdict-card::after { top: auto; right: 22px; bottom: 20px; transform: none; }
  .trajectory-verdict-card p { text-align: left; }
  .ledger-actions button, .import-backup {
    width: 100%;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    text-align: center;
  }
  .ledger-actions span { margin-left: 0; text-align: center; line-height: 1.45; }
  .ledger-save-actions #save-status { margin: 2px 0 8px; }
  .sheet-row { grid-template-columns: 1fr; gap: 8px; }
  .sheet-row input { text-align: left; }
  .quick-row input { text-align: left; }
  .ledger-next-step { display: grid; }
  .ledger-next-step button { width: 100%; justify-content: center; }
  .placement-bars div { grid-template-columns: minmax(145px, .45fr) minmax(0, 1fr) 40px; }
}
/* v151 — richer first inside Visibility System panel.
   Keeps the £50-note texture, but adds more colour presence without muddy brown. */
:is(
  .portal-intro-card,
  .portal-hero-card,
  .system-intro-card,
  .visibility-system-card,
  .journey-hero-card,
  .mint-system-card,
  .system-overview-card,
  .quick-start-card,
  .private-portal-card,
  .member-hero-card
),
:is(
  .portal-main,
  .portal-shell,
  .member-area,
  .member-dashboard,
  .private-portal,
  .portal-content
) :is(
  .visibility-card,
  .system-card,
  .hero-card,
  .intro-card,
  .overview-card,
  .quick-position-card
) {
  position: relative;
  overflow: hidden;
  background-color: #d8aa67;
  box-shadow: 0 28px 75px rgba(46, 43, 43, 0.14);
}

:is(
  .portal-intro-card,
  .portal-hero-card,
  .system-intro-card,
  .visibility-system-card,
  .journey-hero-card,
  .mint-system-card,
  .system-overview-card,
  .quick-start-card,
  .private-portal-card,
  .member-hero-card
)::after,
:is(
  .portal-main,
  .portal-shell,
  .member-area,
  .member-dashboard,
  .private-portal,
  .portal-content
) :is(
  .visibility-card,
  .system-card,
  .hero-card,
  .intro-card,
  .overview-card,
  .quick-position-card
)::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    linear-gradient(
      90deg,
      rgba(208, 138, 35, 0.58) 0%,
      rgba(208, 138, 35, 0.46) 12%,
      rgba(231, 207, 126, 0.30) 24%,
      rgba(168, 202, 220, 0.44) 36%,
      rgba(217, 182, 173, 0.34) 48%,
      rgba(250, 243, 235, 0.10) 58%,
      rgba(170, 177, 140, 0.38) 70%,
      rgba(208, 138, 35, 0.54) 84%,
      rgba(168, 202, 220, 0.34) 100%
    ),
    radial-gradient(circle at 45% 42%, rgba(255, 255, 255, 0.30), transparent 38%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.06), rgba(215, 0, 0, 0.06) 72%);
  mix-blend-mode: multiply;
  opacity: 0.58;
}

:is(
  .portal-intro-card,
  .portal-hero-card,
  .system-intro-card,
  .visibility-system-card,
  .journey-hero-card,
  .mint-system-card,
  .system-overview-card,
  .quick-start-card,
  .private-portal-card,
  .member-hero-card
) > *,
:is(
  .portal-main,
  .portal-shell,
  .member-area,
  .member-dashboard,
  .private-portal,
  .portal-content
) :is(
  .visibility-card,
  .system-card,
  .hero-card,
  .intro-card,
  .overview-card,
  .quick-position-card
) > * {
  position: relative;
  z-index: 1;
}
/* v152 — richer first inside Visibility System panel.
   Keeps the Mint note-texture feeling, but gives the first member card
   more Wealthsimple-style colour: gold, sage, soft blue, and warm pink —
   without the muddy dark-brown cast. */
:is(
  .portal-intro-card,
  .portal-hero-card,
  .system-intro-card,
  .visibility-system-card,
  .journey-hero-card,
  .mint-system-card,
  .system-overview-card,
  .quick-start-card,
  .private-portal-card,
  .member-hero-card,
  .inside-hero-card,
  .overview-hero,
  .journey-intro,
  .journey-overview,
  .stage-overview
) {
  background-color: #e9d4ad !important;
  background-image:
    linear-gradient(90deg,
      rgba(208, 138, 35, .76) 0%,
      rgba(231, 207, 126, .55) 18%,
      rgba(168, 202, 220, .50) 39%,
      rgba(217, 182, 173, .47) 57%,
      rgba(170, 177, 140, .56) 74%,
      rgba(208, 138, 35, .78) 100%
    ),
    radial-gradient(circle at 28% 25%, rgba(255, 250, 239, .55), transparent 34%),
    radial-gradient(circle at 82% 68%, rgba(168, 202, 220, .38), transparent 32%) !important;
  background-blend-mode: soft-light, screen, normal !important;
  filter: saturate(1.18) contrast(1.05) !important;
}

:is(
  .portal-intro-card,
  .portal-hero-card,
  .system-intro-card,
  .visibility-system-card,
  .journey-hero-card,
  .mint-system-card,
  .system-overview-card,
  .quick-start-card,
  .private-portal-card,
  .member-hero-card,
  .inside-hero-card,
  .overview-hero,
  .journey-intro,
  .journey-overview,
  .stage-overview
)::before {
  background:
    linear-gradient(90deg,
      rgba(250, 243, 235, .20),
      rgba(255, 255, 255, .08) 42%,
      rgba(208, 138, 35, .18)
    ) !important;
  opacity: .58 !important;
  mix-blend-mode: screen !important;
}

:is(
  .portal-intro-card,
  .portal-hero-card,
  .system-intro-card,
  .visibility-system-card,
  .journey-hero-card,
  .mint-system-card,
  .system-overview-card,
  .quick-start-card,
  .private-portal-card,
  .member-hero-card,
  .inside-hero-card,
  .overview-hero,
  .journey-intro,
  .journey-overview,
  .stage-overview
) h1,
:is(
  .portal-intro-card,
  .portal-hero-card,
  .system-intro-card,
  .visibility-system-card,
  .journey-hero-card,
  .mint-system-card,
  .system-overview-card,
  .quick-start-card,
  .private-portal-card,
  .member-hero-card,
  .inside-hero-card,
  .overview-hero,
  .journey-intro,
  .journey-overview,
  .stage-overview
) h2,
:is(
  .portal-intro-card,
  .portal-hero-card,
  .system-intro-card,
  .visibility-system-card,
  .journey-hero-card,
  .mint-system-card,
  .system-overview-card,
  .quick-start-card,
  .private-portal-card,
  .member-hero-card,
  .inside-hero-card,
  .overview-hero,
  .journey-intro,
  .journey-overview,
  .stage-overview
) p {
  text-shadow: 0 1px 18px rgba(46, 43, 43, .18) !important;
}
