:root {
  --living-emerald: #12a574;
  --continuity-teal: #075e54;
  --identity-cobalt: #4356e8;
  --live-ink: #0c1722;
  --archive-slate: #53616d;
  --living-white: #fafaf7;
  --quiet-mist: #eaf1ee;
  --line: #d9e3df;
  --pure-white: #ffffff;
  --shadow: 0 24px 70px rgba(12, 23, 34, 0.12);
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--living-white);
  color: var(--live-ink);
  font-family: Inter, "Segoe UI", Arial, Helvetica, sans-serif;
}

a { color: inherit; text-decoration: none; }

.shell { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }

.site-header {
  min-height: 84px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}

.brand { display: inline-flex; align-items: center; gap: 10px; font-size: 1.35rem; font-weight: 780; letter-spacing: -0.04em; }
.brand img { width: 42px; height: 42px; object-fit: contain; }
.brand sup { font-size: .42em; margin-left: 2px; vertical-align: top; }

nav { display: flex; align-items: center; gap: 30px; color: #2c3943; font-size: .9rem; font-weight: 570; }
nav a:hover { color: var(--continuity-teal); }
.nav-action { padding: 12px 18px; border: 1px solid var(--live-ink); border-radius: 999px; }

.hero {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(480px, 1.1fr);
  align-items: center;
  gap: 78px;
  padding-block: 82px 110px;
}

.eyebrow {
  margin: 0 0 18px;
  color: var(--identity-cobalt);
  font-size: .78rem;
  font-weight: 760;
  letter-spacing: .17em;
  text-transform: uppercase;
}

h1, h2, h3, p { margin-top: 0; }

h1 {
  margin-bottom: 28px;
  font-size: clamp(3.4rem, 6.5vw, 6.4rem);
  line-height: .91;
  letter-spacing: -.068em;
  font-weight: 790;
}

h1 span { color: var(--continuity-teal); }
.hero-lede { max-width: 640px; margin-bottom: 32px; color: var(--archive-slate); font-size: 1.18rem; line-height: 1.7; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }

.button {
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 22px;
  border-radius: 999px;
  font-size: .94rem;
  font-weight: 680;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.button:hover { transform: translateY(-2px); }
.button.primary { color: white; background: var(--continuity-teal); box-shadow: 0 12px 30px rgba(7, 94, 84, .2); }
.button.primary:hover { background: #064c44; box-shadow: 0 16px 38px rgba(7, 94, 84, .26); }
.button.secondary { border: 1px solid #aebcb7; background: rgba(255,255,255,.52); }

.public-guide-section { display: grid; grid-template-columns: minmax(0,.9fr) minmax(420px,1.1fr); gap: 64px; align-items: center; padding-block: 76px; }
.public-guide-copy h2 { max-width: 640px; margin-bottom: 20px; font-size: clamp(2.5rem,5vw,5rem); line-height: .98; letter-spacing: -.06em; }
.public-guide-copy > p:not(.eyebrow) { max-width: 620px; color: var(--archive-slate); line-height: 1.68; }
.public-guide-boundary { font-size: .78rem; }
.public-guide-card { display: grid; gap: 16px; padding: 28px; border: 1px solid var(--line); border-radius: 24px; background: rgba(255,255,255,.92); box-shadow: 0 18px 54px rgba(12,23,34,.07); }
.public-guide-card .button { justify-self: start; }
.public-guide-answer { display: grid; gap: 14px; padding: 18px; border-radius: 15px; color: #33423d; background: #f0f6f3; font-size: .86rem; line-height: 1.65; }
.public-guide-answer[hidden] { display: none; }
.public-guide-answer p { margin: 0; white-space: pre-wrap; }
.public-guide-answer .button { width: fit-content; min-height: 40px; font-size: .74rem; }
.public-guide-answer.working { color: var(--identity-cobalt); background: #f1f3ff; }
.public-guide-answer.error { color: #a33030; background: #fff3f3; }
.public-guide-suggestions { display: grid; gap: 10px; }
.public-guide-suggestions > strong { color: var(--ink); font-size: .8rem; }
.public-guide-suggestions > div { display: grid; gap: 8px; }
.public-guide-suggestions button { width: 100%; padding: 11px 13px; border: 1px solid #c8d5d1; border-radius: 12px; color: #243632; background: #fff; font: inherit; font-size: .78rem; line-height: 1.4; text-align: left; cursor: pointer; }
.public-guide-suggestions button:hover, .public-guide-suggestions button:focus-visible { border-color: var(--identity-cobalt); box-shadow: 0 0 0 3px rgba(67,86,232,.12); outline: none; }
.privacy-line { margin: 24px 0 0; color: #66736e; font-size: .8rem; }
.privacy-line span { color: var(--living-emerald); margin-right: 7px; }

.living-record {
  position: relative;
  padding: 28px;
  border: 1px solid rgba(7, 94, 84, .18);
  border-radius: 28px;
  background: rgba(255, 255, 255, .86);
  box-shadow: var(--shadow);
  overflow: hidden;
}
.living-record::before {
  content: "";
  position: absolute;
  width: 310px;
  height: 310px;
  right: -160px;
  top: -190px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(18,165,116,.25), rgba(18,165,116,0) 68%);
}
.record-topline, .record-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; color: #78847f; font-size: .74rem; }
.record-status { display: inline-flex; align-items: center; gap: 7px; color: var(--continuity-teal); font-weight: 670; }
.record-status i { width: 8px; height: 8px; border-radius: 50%; background: var(--living-emerald); box-shadow: 0 0 0 5px rgba(18,165,116,.12); }
.person-intro { display: grid; grid-template-columns: 76px 1fr; align-items: center; gap: 18px; padding: 27px 0 24px; border-bottom: 1px solid var(--line); }
.portrait-placeholder { width: 72px; height: 72px; display: grid; place-items: center; border-radius: 50%; color: white; background: linear-gradient(145deg, var(--continuity-teal), var(--living-emerald)); font-weight: 760; }
.record-kicker { margin-bottom: 5px; color: var(--identity-cobalt); font-size: .7rem; font-weight: 720; letter-spacing: .08em; text-transform: uppercase; }
.person-intro h2 { margin-bottom: 4px; font-size: 1.45rem; letter-spacing: -.03em; }
.person-intro p:last-child { margin: 0; color: var(--archive-slate); font-size: .87rem; }
.timeline-preview { position: relative; display: grid; gap: 2px; padding: 18px 0; }
.timeline-line { position: absolute; left: 74px; top: 34px; bottom: 34px; width: 1px; background: var(--line); }
.timeline-preview article { position: relative; display: grid; grid-template-columns: 58px 1fr; gap: 30px; padding: 13px 8px; }
.timeline-preview article::before { content: ""; position: absolute; left: 70px; top: 21px; width: 9px; height: 9px; border: 2px solid white; border-radius: 50%; background: #9cadA7; box-shadow: 0 0 0 1px var(--line); }
.timeline-preview article.active-event::before { background: var(--living-emerald); box-shadow: 0 0 0 5px rgba(18,165,116,.12); }
.timeline-preview time { padding-top: 2px; color: #75817c; font-size: .76rem; font-weight: 640; }
.timeline-preview strong, .timeline-preview span { display: block; }
.timeline-preview strong { margin-bottom: 5px; font-size: .91rem; }
.timeline-preview span { color: var(--archive-slate); font-size: .79rem; line-height: 1.48; }
.record-footer { padding-top: 17px; border-top: 1px solid var(--line); }

.statement-band { color: white; background: var(--live-ink); }
.statement-grid { display: grid; grid-template-columns: .8fr 1.45fr 1fr; align-items: center; gap: 46px; padding-block: 54px; }
.statement-grid p { margin: 0; color: #c6d0d6; line-height: 1.6; }
.statement-grid h2 { margin: 0; font-size: clamp(2rem, 4vw, 3.8rem); line-height: 1; letter-spacing: -.055em; }

.section { padding-block: 120px; }
.section-heading { max-width: 700px; }
.section-heading h2 { margin-bottom: 22px; font-size: clamp(2.6rem, 5vw, 4.6rem); line-height: 1.02; letter-spacing: -.058em; }
.section-heading > p:last-child { color: var(--archive-slate); font-size: 1.05rem; line-height: 1.75; }
.section-heading.centered { margin-inline: auto; text-align: center; }

.stage-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 52px; }
.stage-card { min-height: 260px; padding: 30px; border: 1px solid var(--line); border-radius: 22px; background: rgba(255,255,255,.72); }
.stage-card > span { display: inline-grid; width: 42px; height: 42px; place-items: center; margin-bottom: 48px; border-radius: 12px; color: var(--continuity-teal); background: var(--quiet-mist); font-size: .74rem; font-weight: 760; }
.stage-card h3 { margin-bottom: 13px; font-size: 1.25rem; letter-spacing: -.025em; }
.stage-card p { margin: 0; color: var(--archive-slate); line-height: 1.65; }

.ecosystem-section { padding-block: 120px; color: white; background: linear-gradient(145deg, #071d1b, #0c1722 58%, #11243d); }
.ecosystem-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 90px; align-items: start; }
.light-heading { position: sticky; top: 40px; }
.light-heading h2 { color: white; }
.light-heading > p:last-child { color: #c7d2d2; }
.question-stack { display: grid; gap: 14px; }
.question-stack article { padding: 26px 28px; border: 1px solid rgba(255,255,255,.12); border-radius: 20px; background: rgba(255,255,255,.055); }
.question-stack article:nth-child(2) { border-color: rgba(67,86,232,.38); background: rgba(67,86,232,.10); }
.question-stack span { display: block; margin-bottom: 17px; color: #73d5b3; font-size: .72rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.question-stack h3 { margin-bottom: 10px; font-size: 1.25rem; line-height: 1.35; }
.question-stack p { margin: 0; color: #bac8cc; line-height: 1.6; }

.participation-section { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 110px; }
.participation-visual { position: relative; min-height: 520px; display: grid; place-items: center; border-radius: 50%; background: radial-gradient(circle, rgba(18,165,116,.13), rgba(18,165,116,0) 65%); }
.participation-visual > img { width: 240px; height: 240px; object-fit: contain; }
.orbit { position: absolute; inset: 50%; width: 440px; height: 440px; transform: translate(-50%,-50%); border: 1px solid rgba(7,94,84,.17); border-radius: 50%; }
.orbit span { position: absolute; padding: 8px 13px; border: 1px solid var(--line); border-radius: 999px; background: white; box-shadow: 0 8px 24px rgba(12,23,34,.06); color: var(--continuity-teal); font-size: .72rem; font-weight: 680; }
.orbit-one span { left: 2%; top: 30%; }
.orbit-two { width: 360px; height: 360px; }
.orbit-two span { right: -2%; top: 20%; }
.orbit-three { width: 285px; height: 285px; }
.orbit-three span { right: 5%; bottom: 2%; }
.clean-list { display: grid; gap: 14px; margin: 28px 0 0; padding: 0; list-style: none; }
.clean-list li { position: relative; padding-left: 30px; color: #33413e; line-height: 1.55; }
.clean-list li::before { content: ""; position: absolute; left: 0; top: .45em; width: 12px; height: 7px; border-left: 2px solid var(--living-emerald); border-bottom: 2px solid var(--living-emerald); transform: rotate(-45deg); }

.trust-section { padding-block: 120px; background: white; }
.trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-top: 58px; border: 1px solid var(--line); border-radius: 22px; background: var(--line); overflow: hidden; }
.trust-grid article { min-height: 230px; padding: 28px; background: white; }
.trust-grid span { color: var(--identity-cobalt); font-size: .72rem; font-weight: 760; }
.trust-grid h3 { margin: 48px 0 12px; font-size: 1.05rem; }
.trust-grid p { margin: 0; color: var(--archive-slate); font-size: .9rem; line-height: 1.62; }

.closing { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; padding-block: 110px; }
.closing h2 { margin: 0; font-size: clamp(2.5rem, 5vw, 4.8rem); line-height: 1.02; letter-spacing: -.058em; }
.closing .button { flex: 0 0 auto; }

footer { padding-block: 34px; border-top: 1px solid var(--line); }
.footer-grid { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 34px; }
.footer-grid > p { margin: 0; color: var(--archive-slate); font-size: .84rem; }
.footer-grid > div { display: flex; gap: 18px; color: #46534f; font-size: .82rem; }
.footer-brand { font-size: 1.12rem; }

.legal-page { padding-bottom: 64px; }
.legal-hero { padding-block: 72px 42px; }
.legal-hero h1 { max-width: 900px; margin: 10px 0 18px; font-size: clamp(2.7rem, 6vw, 5.4rem); line-height: .98; letter-spacing: -.065em; }
.legal-hero > p:not(.eyebrow) { max-width: 820px; color: var(--archive-slate); font-size: 1.05rem; line-height: 1.75; }
.legal-version { display: flex; flex-wrap: wrap; gap: 10px 24px; margin-top: 24px; padding: 16px 20px; border: 1px solid var(--line); border-radius: 14px; color: #596762; background: white; font-size: .82rem; }
.legal-version strong { color: var(--live-ink); }
.legal-nav { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.legal-nav a { padding: 11px 15px; border: 1px solid #cdd8d4; border-radius: 999px; color: #17332e; background: #f9fcfb; font-size: .78rem; font-weight: 740; }
.legal-nav a:hover, .legal-nav a:focus-visible { border-color: var(--living-emerald); color: var(--living-emerald); }
.legal-stack { display: grid; gap: 24px; }
.legal-document { scroll-margin-top: 24px; padding: clamp(26px, 5vw, 58px); border: 1px solid var(--line); border-radius: 26px; background: rgba(255,255,255,.96); box-shadow: 0 18px 54px rgba(12,23,34,.055); }
.legal-document h2 { margin: 8px 0 14px; font-size: clamp(2rem, 4vw, 3.4rem); letter-spacing: -.05em; }
.legal-document h3 { margin: 30px 0 8px; font-size: 1.05rem; letter-spacing: -.015em; }
.legal-document p, .legal-document li { color: #4d5b57; font-size: .95rem; line-height: 1.75; }
.legal-document ul { display: grid; gap: 9px; padding-left: 20px; }
.legal-document a { color: #176b58; font-weight: 720; text-decoration: underline; text-underline-offset: 3px; }
.legal-summary { max-width: 880px; margin-bottom: 26px; padding: 18px 20px; border-left: 4px solid var(--living-emerald); border-radius: 0 12px 12px 0; background: #f2f9f6; color: #294840 !important; }
.account-continuity { margin: 0 0 20px; padding: 14px 16px; border-radius: 12px; background: #f1f7f5; color: #314d45; }
.check-row a { color: #176b58; font-weight: 760; text-decoration: underline; text-underline-offset: 2px; }
.existing-account-note { margin-top: 14px; text-align: center; }
.existing-account-note .text-button { display: inline; width: auto; padding: 0; color: #176b58; font-weight: 760; text-decoration: underline; }
.legal-gate { min-height: calc(100vh - 100px); display: grid; place-items: center; padding-block: 56px; }
.legal-gate[hidden] { display: none; }
.legal-gate-card { width: min(760px, 100%); padding: clamp(28px, 6vw, 58px); border: 1px solid var(--line); border-radius: 28px; background: white; box-shadow: 0 28px 80px rgba(12,23,34,.11); }
.legal-gate-card h1 { margin: 8px 0 16px; font-size: clamp(2.2rem, 5vw, 4.1rem); line-height: 1; letter-spacing: -.06em; }
.legal-gate-card > p:not(.eyebrow) { color: var(--archive-slate); line-height: 1.7; }
.legal-gate-links { display: flex; flex-wrap: wrap; gap: 8px; margin: 24px 0; }
.legal-gate-links a { padding: 9px 12px; border: 1px solid var(--line); border-radius: 999px; color: #235548; font-size: .76rem; font-weight: 740; }
.legal-check { margin: 18px 0; padding: 18px; border: 1px solid #bddbd1; border-radius: 14px; background: #f5fbf8; }
#legal-sign-out { margin-top: 16px; }
.workspace-access { display: inline-flex; margin: 10px 0 0; padding: 7px 10px; border-radius: 999px; color: #176b58; background: #e8f7f1; font-size: .72rem; font-weight: 780; }
.import-layout { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: 22px; align-items: start; }
.import-card input[type="file"] { padding: 13px; border: 1px dashed #94aaa2; background: #f8fbfa; }
.import-boundary { margin: 16px 0 0; color: #61716b; font-size: .74rem; line-height: 1.6; }
.import-result { display: grid; gap: 18px; margin-top: 22px; }
.import-section { padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: #fbfcfc; }
.import-section h3 { margin: 0 0 10px; font-size: 1rem; }
.import-section p, .import-section li { color: #52605c; font-size: .82rem; line-height: 1.6; }
.import-option { display: grid; grid-template-columns: auto 1fr; gap: 12px; align-items: start; margin: 10px 0; padding: 13px; border: 1px solid #dbe4e1; border-radius: 12px; background: white; }
.import-option input { margin-top: 4px; }
.import-option strong, .import-option small { display: block; }
.import-option small { margin-top: 5px; color: #6f7b77; line-height: 1.5; }
.import-question { padding: 12px 14px; border-left: 3px solid #4a74f0; background: #f2f5ff; }
.import-actions { display: grid; gap: 10px; }
.import-actions .check-row { padding: 12px; border: 1px solid var(--line); border-radius: 10px; }
.feedback-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, .8fr); gap: 18px; align-items: start; }
.feedback-categories { margin: 0; padding: 17px; border: 1px solid var(--line); border-radius: 15px; }
.feedback-categories legend { padding: 0 7px; color: #283833; font-size: .82rem; font-weight: 740; }
#feedback-category-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.feedback-category { grid-template-columns: 18px 1fr; gap: 9px; padding: 11px; border: 1px solid #dbe4e1; border-radius: 11px; background: #fbfcfc; }
.feedback-category input { width: 17px; min-height: 17px; margin-top: 2px; }
.feedback-category strong, .feedback-category small { display: block; }
.feedback-category small { margin-top: 3px; }
.feedback-video-status { margin-top: 1rem; padding: .9rem 1rem; border: 1px solid rgba(57, 97, 86, .22); border-radius: 14px; background: rgba(236, 246, 242, .65); display: grid; gap: .45rem; }
.feedback-video-status .text-button { justify-self: start; }
.feedback-video-status .danger { color: #8b2f38; }
.founder-feedback-review { margin-top: 18px; }
.founder-feedback-review video { width: min(100%, 760px); max-height: 480px; margin: 20px 0; border-radius: 16px; background: #06120f; box-shadow: 0 16px 42px rgba(12,23,34,.18); }

.simple-page { min-height: 100vh; background: linear-gradient(180deg, var(--living-white), #f1f7f4); }
.back-link { color: var(--archive-slate); font-size: .86rem; font-weight: 620; }
.start-shell { padding-block: 72px 110px; }
.start-intro { max-width: 850px; }
.start-intro h1 { max-width: 800px; }
.start-intro > p:last-child { max-width: 720px; color: var(--archive-slate); font-size: 1.08rem; line-height: 1.72; }
.start-steps { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 56px; }
.start-steps article { padding: 30px; border: 1px solid var(--line); border-radius: 22px; background: rgba(255,255,255,.72); }
.start-steps span { color: var(--identity-cobalt); font-size: .72rem; font-weight: 780; }
.start-steps h2 { margin: 32px 0 10px; font-size: 1.25rem; letter-spacing: -.025em; }
.start-steps p { margin: 0; color: var(--archive-slate); line-height: 1.62; }
.foundation-notice { display: flex; align-items: flex-end; justify-content: space-between; gap: 34px; margin-top: 18px; padding: 34px; border-radius: 24px; color: white; background: var(--live-ink); }
.foundation-notice h2 { margin-bottom: 10px; font-size: 1.5rem; }
.foundation-notice p { max-width: 680px; margin-bottom: 0; color: #bdc9ce; line-height: 1.6; }
.foundation-notice .button { flex: 0 0 auto; background: var(--living-emerald); }

.account-actions { display: flex; align-items: center; gap: 16px; }
.account-actions > span { color: var(--archive-slate); font-size: .82rem; font-weight: 650; }
.text-button { padding: 0; border: 0; color: var(--continuity-teal); background: none; font: inherit; font-size: .84rem; font-weight: 700; cursor: pointer; }
.auth-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); gap: 20px; margin-top: 54px; align-items: start; }
.auth-card, .privacy-card, .editor-card, .record-list-card { border: 1px solid var(--line); border-radius: 24px; background: rgba(255,255,255,.92); box-shadow: 0 18px 54px rgba(12,23,34,.07); }
.auth-card { min-height: 610px; padding: 34px; }
.auth-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin-bottom: 34px; padding: 4px; border-radius: 14px; background: #edf3f0; }
.auth-tabs button { min-height: 42px; border: 0; border-radius: 10px; color: #586762; background: transparent; font: inherit; font-size: .85rem; font-weight: 700; cursor: pointer; }
.auth-tabs button.active { color: var(--live-ink); background: white; box-shadow: 0 4px 16px rgba(12,23,34,.08); }
.auth-card form { display: grid; gap: 18px; }
.auth-card form[hidden] { display: none; }
.auth-card h2, .editor-card h2, .record-list-card h2 { margin-bottom: 5px; font-size: clamp(1.6rem, 3vw, 2.35rem); line-height: 1.08; letter-spacing: -.04em; }
label { display: grid; gap: 8px; color: #283833; font-size: .82rem; font-weight: 680; }
input, textarea, select { width: 100%; border: 1px solid #c9d5d1; border-radius: 12px; color: var(--live-ink); background: white; font: inherit; font-size: .95rem; outline: none; }
input, select { min-height: 48px; padding: 0 14px; }
textarea { padding: 14px; line-height: 1.6; resize: vertical; }
input:focus, textarea:focus, select:focus { border-color: var(--identity-cobalt); box-shadow: 0 0 0 4px rgba(67,86,232,.10); }
label small { color: #74817c; font-size: .7rem; font-weight: 500; line-height: 1.45; }
.check-row { grid-template-columns: 20px 1fr; gap: 10px; align-items: start; font-weight: 520; line-height: 1.55; }
.check-row input { width: 18px; min-height: 18px; margin-top: 2px; }
.inline-help { justify-self: start; margin-top: -6px; }
.form-copy { color: var(--archive-slate); line-height: 1.65; }
.form-message { min-height: 24px; margin-top: 18px; color: #53616d; font-size: .82rem; line-height: 1.5; }
.form-message.error { color: #a33030; }
.form-message.success { color: #087353; }
.form-message.working { color: var(--identity-cobalt); }
.busy { opacity: .72; }
.privacy-card { padding: 36px; color: white; background: linear-gradient(150deg, #071d1b, var(--live-ink)); }
.privacy-card .eyebrow { color: #78dfbb; }
.privacy-card ol { display: grid; gap: 25px; margin: 0; padding: 0; list-style: none; counter-reset: privacy; }
.privacy-card li { position: relative; padding-left: 50px; counter-increment: privacy; }
.privacy-card li::before { content: counter(privacy, decimal-leading-zero); position: absolute; left: 0; top: 0; color: #78dfbb; font-size: .7rem; font-weight: 780; }
.privacy-card strong, .privacy-card span { display: block; }
.privacy-card strong { margin-bottom: 7px; font-size: .96rem; }
.privacy-card span { color: #b9c9c7; font-size: .82rem; line-height: 1.6; }

.workspace { padding-block: 58px 110px; }
.workspace-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 34px; }
.workspace-heading h1 { margin-bottom: 18px; font-size: clamp(2.6rem, 6vw, 5.2rem); }
.workspace-heading > div > p:last-child { color: var(--archive-slate); }
.ai-workspace-notice { max-width: 900px; margin: 18px 0 0; padding: 14px 16px; border-left: 3px solid var(--identity-cobalt); color: #5c6965; background: #f2f5fb; font-size: .76rem; line-height: 1.6; }
.save-state { display: inline-flex; align-items: center; gap: 9px; flex: 0 0 auto; margin-bottom: 18px; padding: 10px 13px; border: 1px solid var(--line); border-radius: 999px; background: white; color: #5a6762; font-size: .73rem; font-weight: 650; }
.save-state i { width: 8px; height: 8px; border-radius: 50%; background: var(--living-emerald); }
.save-state[data-state="working"] i { background: var(--identity-cobalt); animation: pulse 1s infinite alternate; }
.save-state[data-state="error"] i { background: #bd4242; }
@keyframes pulse { to { opacity: .35; } }
.workspace-tabs { position: sticky; top: 0; z-index: 4; display: flex; gap: 8px; margin: 30px 0 20px; padding: 9px; border: 1px solid var(--line); border-radius: 18px; background: rgba(250,250,247,.93); backdrop-filter: blur(14px); }
.workspace-tabs button { min-height: 42px; padding: 0 17px; border: 0; border-radius: 11px; color: #596762; background: transparent; font: inherit; font-size: .8rem; font-weight: 700; cursor: pointer; }
.workspace-tabs button.active { color: white; background: var(--live-ink); }
.workspace-panel { animation: appear .22s ease; }
@keyframes appear { from { opacity: 0; transform: translateY(5px); } }
.workspace-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, .8fr); gap: 18px; align-items: start; }
.editor-card, .record-list-card { padding: 30px; }
.editor-card { display: grid; gap: 19px; }
.wide-editor { max-width: 980px; }
.field-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.sharing-box { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding: 20px; border-radius: 17px; background: #f0f5f3; }
.sharing-box .check-row, .share-link { grid-column: 1 / -1; }
.share-link { margin: 0; padding: 12px 14px; border-radius: 10px; background: white; color: #51605b; font-size: .78rem; }
.share-link a { color: var(--identity-cobalt); font-weight: 700; }
.panel-title { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.panel-title > span { display: grid; min-width: 42px; height: 42px; place-items: center; border-radius: 12px; color: var(--continuity-teal); background: var(--quiet-mist); font-size: .78rem; font-weight: 780; }
.record-list { display: grid; gap: 12px; margin-top: 24px; }
.saved-record, .revision-row { padding: 18px; border: 1px solid #e1e8e5; border-radius: 15px; background: #fbfcfb; }
.saved-record-top { display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.saved-record-top span { color: var(--identity-cobalt); font-size: .64rem; font-weight: 760; letter-spacing: .08em; text-transform: uppercase; }
.saved-record-top button { border: 0; color: #7a6666; background: none; font: inherit; font-size: .68rem; cursor: pointer; }
.saved-record h3 { margin: 14px 0 8px; font-size: 1rem; }
.saved-record p { max-height: 9.5em; margin-bottom: 13px; overflow: auto; color: #53615d; font-size: .8rem; line-height: 1.58; white-space: pre-wrap; }
.saved-record small, .revision-row small { color: #7c8984; font-size: .65rem; }
.timeline-record { border-left: 3px solid var(--living-emerald); }
.revision-row { display: grid; grid-template-columns: 90px 1fr auto; align-items: center; gap: 14px; }
.revision-row > span { color: var(--identity-cobalt); font-size: .67rem; font-weight: 750; text-transform: uppercase; }
.revision-row strong { font-size: .8rem; }
.empty-state { display: grid; justify-items: center; gap: 10px; padding: 42px 20px; border: 1px dashed #cfdbd7; border-radius: 16px; color: #6d7975; text-align: center; }
.empty-state img { opacity: .55; }
.empty-state p { margin: 0; font-size: .8rem; }
.full-card { max-width: 980px; }
.workspace-message { position: sticky; bottom: 16px; width: fit-content; max-width: 760px; min-height: 0; margin: 18px auto 0; padding: 10px 15px; border-radius: 999px; background: white; box-shadow: 0 10px 34px rgba(12,23,34,.12); }
.workspace-message:empty { display: none; }

.ai-assist-box {
  display: grid;
  gap: 16px;
  padding: 22px;
  border: 1px solid rgba(67,86,232,.18);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(241,245,255,.94), rgba(239,249,245,.94));
}
.ai-assist-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.ai-assist-heading h3 { margin: 2px 0 0; font-size: 1.12rem; line-height: 1.25; letter-spacing: -.025em; }
.ai-assist-heading > span { flex: 0 0 auto; padding: 7px 10px; border-radius: 999px; color: var(--identity-cobalt); background: white; font-size: .62rem; font-weight: 760; letter-spacing: .06em; text-transform: uppercase; }
.ai-assist-box > p { margin: 0; color: #55645f; font-size: .82rem; line-height: 1.62; }
.ai-preferences { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.ai-preferences select { min-height: 42px; font-size: .78rem; }
.ai-action-row { display: flex; flex-wrap: wrap; gap: 8px; }
.button.intelligence { min-height: 42px; padding: 0 15px; border: 1px solid rgba(67,86,232,.24); color: #2637bd; background: white; box-shadow: none; font-size: .76rem; }
.button.intelligence:hover { border-color: var(--identity-cobalt); background: #f7f8ff; }
.button.intelligence:disabled { cursor: wait; opacity: .6; transform: none; }
.identity-dimensions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.identity-dimensions textarea { min-height: 180px; }
.history-layout { display: grid; gap: 18px; }
.history-intelligence { background: linear-gradient(145deg, #eef3ff, #edf8f3); }
.ai-result { display: grid; gap: 15px; padding: 18px; border: 1px solid #d8e2de; border-radius: 15px; background: white; }
.ai-result[hidden] { display: none; }
.ai-result-status { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.ai-result-status strong { color: var(--continuity-teal); font-size: .82rem; }
.ai-result-status span { color: #72807b; font-size: .68rem; }
.ai-analysis-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.ai-analysis-grid div { padding: 10px; border-radius: 10px; background: #f4f7f6; }
.ai-analysis-grid small, .ai-analysis-grid strong { display: block; }
.ai-analysis-grid small { margin-bottom: 4px; color: #73807b; font-size: .6rem; letter-spacing: .06em; text-transform: uppercase; }
.ai-analysis-grid strong { font-size: .75rem; }
.ai-proposed-copy { max-height: 320px; overflow: auto; padding: 15px; border-left: 3px solid var(--living-emerald); color: #34433f; background: #f7faf8; font-size: .84rem; line-height: 1.68; white-space: pre-wrap; }
.ai-suggestions { margin: 0; padding-left: 20px; color: #52615c; font-size: .78rem; line-height: 1.55; }
.ai-result-question { margin: 0; color: #23322e; font-size: .84rem; font-weight: 650; }
.ai-result-note { margin: 0; color: #6d7975; font-size: .7rem; line-height: 1.5; }
.ai-result-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.ai-result-actions button { min-height: 38px; padding: 0 13px; border: 1px solid #cbd7d3; border-radius: 10px; color: #40504b; background: white; font: inherit; font-size: .72rem; font-weight: 700; cursor: pointer; }
.ai-result-actions button[data-ai-apply] { border-color: var(--continuity-teal); color: white; background: var(--continuity-teal); }
.ai-working { color: var(--identity-cobalt); font-size: .8rem; }

.public-record-page { min-height: 100vh; background: linear-gradient(180deg, #f6faf8, var(--living-white)); }
.public-record { padding-block: 70px 110px; }
.public-loading { max-width: 800px; padding-block: 80px; }
.public-record-hero { max-width: 900px; padding-bottom: 60px; }
.public-record-hero h1 { margin-bottom: 16px; }
.public-headline { color: var(--continuity-teal); font-size: 1.35rem; font-weight: 700; }
.public-overview { max-width: 760px; color: var(--archive-slate); font-size: 1.05rem; line-height: 1.78; white-space: pre-wrap; }
.public-record-hero .record-topline { max-width: 600px; margin-top: 30px; padding-top: 18px; border-top: 1px solid var(--line); }
.public-record-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; padding-top: 65px; border-top: 1px solid var(--line); }
.public-record-grid h2 { margin-bottom: 30px; font-size: clamp(2rem, 4vw, 3.2rem); letter-spacing: -.05em; }
.public-timeline, .public-stories { display: grid; gap: 14px; }
.public-timeline article { display: grid; grid-template-columns: 110px 1fr; gap: 18px; padding: 20px 0; border-top: 1px solid var(--line); }
.public-timeline time { color: var(--identity-cobalt); font-size: .75rem; font-weight: 730; }
.public-timeline h3, .public-stories h3 { margin-bottom: 8px; font-size: 1rem; }
.public-timeline p, .public-stories p { margin: 0; color: var(--archive-slate); font-size: .85rem; line-height: 1.65; white-space: pre-wrap; }
.public-stories article { padding: 24px; border: 1px solid var(--line); border-radius: 18px; background: white; }

body.concierge-open { overflow: hidden; }
.concierge-launcher {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 70;
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 58px;
  padding: 9px 16px 9px 10px;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 18px;
  color: white;
  background: #0a2a27;
  box-shadow: 0 18px 46px rgba(8, 35, 32, .25);
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.concierge-launcher:hover { transform: translateY(-2px); box-shadow: 0 22px 52px rgba(8, 35, 32, .32); }
.concierge-launcher:focus-visible, .concierge-dialog :focus-visible { outline: 3px solid #7fd5c0; outline-offset: 3px; }
.concierge-launcher img { width: 34px; height: 34px; }
.concierge-launcher span { display: grid; gap: 1px; }
.concierge-launcher strong { font-size: .78rem; }
.concierge-launcher small { color: #bcd8d1; font-size: .64rem; }

.concierge-layer { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 24px; }
.concierge-layer[hidden] { display: none; }
.concierge-backdrop { position: absolute; inset: 0; background: rgba(4, 15, 20, .68); backdrop-filter: blur(10px); }
.concierge-dialog {
  position: relative;
  z-index: 1;
  width: min(720px, 100%);
  max-height: min(820px, calc(100vh - 48px));
  overflow-y: auto;
  padding: 42px;
  border: 1px solid rgba(255, 255, 255, .8);
  border-radius: 28px;
  background: linear-gradient(145deg, #ffffff 0%, #f3f8f6 100%);
  box-shadow: 0 36px 100px rgba(3, 20, 24, .34);
}
.concierge-dialog::before { content: ""; position: absolute; inset: 0 0 auto; height: 5px; border-radius: 28px 28px 0 0; background: linear-gradient(90deg, var(--identity-cobalt), var(--continuity-teal)); }
.concierge-close {
  position: absolute;
  top: 18px;
  right: 18px;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid var(--line);
  border-radius: 50%;
  color: var(--ink);
  background: rgba(255, 255, 255, .84);
  font: inherit;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
}
.concierge-brand { display: grid; place-items: center; width: 64px; height: 64px; margin-bottom: 22px; border-radius: 20px; background: white; box-shadow: 0 12px 28px rgba(37, 80, 161, .12); }
.concierge-brand img { width: 52px; height: 52px; }
.concierge-dialog h2 { max-width: 590px; margin: 8px 0 14px; font-size: clamp(2.2rem, 5vw, 3.7rem); line-height: .98; letter-spacing: -.055em; }
.concierge-intro { max-width: 600px; margin: 0 0 26px; color: var(--archive-slate); font-size: .98rem; line-height: 1.65; }
.concierge-options { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.concierge-options[hidden], .concierge-recommendation[hidden], .concierge-answer[hidden] { display: none; }
.concierge-option {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 12px;
  align-items: start;
  min-height: 116px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 17px;
  color: var(--ink);
  background: rgba(255, 255, 255, .88);
  font: inherit;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}
.concierge-option:hover { border-color: #9dbab3; transform: translateY(-2px); box-shadow: 0 12px 28px rgba(12, 49, 46, .09); }
.concierge-option.primary-option { border-color: #193f96; color: white; background: linear-gradient(135deg, #183d91, #0f685b); }
.concierge-option-number { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 11px; color: var(--identity-cobalt); background: #edf2ff; font-size: .69rem; font-weight: 800; }
.primary-option .concierge-option-number { color: white; background: rgba(255, 255, 255, .15); }
.concierge-option > span:last-child { display: grid; gap: 7px; }
.concierge-option strong { font-size: .86rem; line-height: 1.3; }
.concierge-option small { color: var(--archive-slate); font-size: .72rem; line-height: 1.5; }
.concierge-option.primary-option small { color: #d7eee8; }
.concierge-explore, .concierge-back { margin-top: 18px; border: 0; color: #586963; background: transparent; font: inherit; font-size: .74rem; font-weight: 700; cursor: pointer; }
.concierge-recommendation { display: grid; gap: 13px; }
.concierge-recommendation label { max-width: 590px; color: var(--ink); font-size: 1.08rem; font-weight: 760; line-height: 1.45; }
.concierge-recommendation textarea { width: 100%; min-height: 112px; resize: vertical; padding: 15px 16px; border: 1px solid #bdcbc7; border-radius: 14px; color: var(--ink); background: white; font: inherit; font-size: .86rem; line-height: 1.55; }
.concierge-privacy { margin: 0; color: #687771; font-size: .7rem; line-height: 1.5; }
.concierge-recommendation .button { justify-self: start; }
.concierge-answer { padding: 16px; border-radius: 14px; color: var(--ink); background: white; font-size: .8rem; line-height: 1.6; }
.concierge-answer.working { color: var(--identity-cobalt); background: #eef3ff; }
.concierge-answer.success { border: 1px solid #bed9d1; background: #f0f8f5; }
.concierge-answer.error { border: 1px solid #e6b8b8; color: #8a2e2e; background: #fff3f3; }
.concierge-answer p { margin: 0; }
.concierge-answer a { display: inline-flex; margin-top: 12px; }
.concierge-back { width: fit-content; margin: 0 0 4px; }

@media (max-width: 980px) {
  .import-layout, .feedback-layout { grid-template-columns: 1fr; }
  nav a:not(.nav-action) { display: none; }
  .hero { grid-template-columns: 1fr; gap: 50px; padding-top: 62px; }
  .living-record { max-width: 720px; }
  .statement-grid { grid-template-columns: 1fr; gap: 12px; }
  .stage-grid { grid-template-columns: 1fr; }
  .stage-card { min-height: 0; }
  .stage-card > span { margin-bottom: 28px; }
  .ecosystem-grid, .participation-section { grid-template-columns: 1fr; }
  .public-guide-section { grid-template-columns: 1fr; gap: 36px; }
  .light-heading { position: static; }
  .participation-visual { order: 2; }
  .trust-grid { grid-template-columns: 1fr 1fr; }
  .auth-layout, .workspace-grid { grid-template-columns: 1fr; }
  .identity-dimensions { grid-template-columns: 1fr; }
  .public-record-grid { grid-template-columns: 1fr; gap: 50px; }
  .privacy-card { order: -1; }
}

@media (max-width: 640px) {
  .shell { width: min(100% - 28px, 1180px); }
  .site-header { min-height: 72px; }
  .brand img { width: 36px; height: 36px; }
  .brand { font-size: 1.15rem; }
  .nav-action { padding: 10px 14px; font-size: .78rem; }
  .hero { padding-block: 48px 74px; }
  h1 { font-size: clamp(3.15rem, 16vw, 4.8rem); }
  .hero-lede { font-size: 1.02rem; }
  .hero-actions { display: grid; }
  .public-guide-section { padding-block: 58px; }
  .button { width: 100%; }
  .living-record { padding: 20px; border-radius: 20px; }
  .person-intro { grid-template-columns: 58px 1fr; }
  .portrait-placeholder { width: 56px; height: 56px; }
  .record-footer { display: grid; gap: 6px; }
  .timeline-preview article { grid-template-columns: 45px 1fr; gap: 22px; padding-inline: 2px; }
  .timeline-line { left: 56px; }
  .timeline-preview article::before { left: 52px; }
  .statement-grid { padding-block: 42px; }
  .section, .ecosystem-section, .trust-section { padding-block: 82px; }
  .ecosystem-grid, .participation-section { gap: 56px; }
  .participation-visual { min-height: 360px; }
  .participation-visual > img { width: 170px; height: 170px; }
  .orbit { width: 320px; height: 320px; }
  .orbit-two { width: 265px; height: 265px; }
  .orbit-three { width: 210px; height: 210px; }
  .trust-grid { grid-template-columns: 1fr; }
  .trust-grid article { min-height: 0; }
  .trust-grid h3 { margin-top: 28px; }
  .closing { align-items: stretch; flex-direction: column; padding-block: 82px; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-grid > div { flex-direction: column; gap: 8px; }
  .start-steps { grid-template-columns: 1fr; }
  .foundation-notice { align-items: stretch; flex-direction: column; }
  .account-actions > span { display: none; }
  .start-shell { padding-top: 44px; }
  .auth-card, .privacy-card, .editor-card, .record-list-card { padding: 22px; border-radius: 18px; }
  .workspace-heading { align-items: flex-start; flex-direction: column; }
  .save-state { margin-bottom: 0; }
  .workspace-tabs { overflow-x: auto; justify-content: flex-start; }
  .workspace-tabs button { flex: 0 0 auto; }
  .field-pair, .sharing-box { grid-template-columns: 1fr; }
  #feedback-category-list { grid-template-columns: 1fr; }
  .ai-preferences, .ai-analysis-grid { grid-template-columns: 1fr; }
  .ai-assist-heading { align-items: stretch; flex-direction: column; }
  .ai-assist-heading > span { width: fit-content; }
  .sharing-box .check-row, .share-link { grid-column: auto; }
  .revision-row { grid-template-columns: 1fr; gap: 5px; }
  .concierge-launcher { right: 14px; bottom: 14px; min-height: 52px; padding: 8px 12px 8px 8px; border-radius: 16px; }
  .concierge-launcher img { width: 30px; height: 30px; }
  .concierge-layer { align-items: end; padding: 10px; }
  .concierge-dialog { max-height: calc(100vh - 20px); padding: 30px 20px 24px; border-radius: 23px; }
  .concierge-dialog::before { border-radius: 23px 23px 0 0; }
  .concierge-brand { width: 54px; height: 54px; margin-bottom: 17px; border-radius: 17px; }
  .concierge-brand img { width: 44px; height: 44px; }
  .concierge-dialog h2 { padding-right: 30px; font-size: clamp(2.25rem, 12vw, 3.3rem); }
  .concierge-intro { margin-bottom: 20px; font-size: .88rem; }
  .concierge-options { grid-template-columns: 1fr; }
  .concierge-option { min-height: 0; padding: 15px; }
  .concierge-recommendation .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}
