/* Real Tags — neo-brutalist page components. */

.home-page .page-shell {
  width:min(calc(100% - 2.5rem),var(--neo-page-width)); padding-top:var(--neo-space-8);
}
.home-hero {
  min-height:min(46rem,calc(var(--visual-viewport-height,100vh) - 8.5rem)); display:grid; grid-template-columns:minmax(0,1.18fr) minmax(22rem,0.82fr); overflow:hidden; border:var(--neo-border-heavy) solid var(--neo-ink); border-radius:var(--neo-radius-panel);
  background-color:var(--neo-yellow); box-shadow:var(--neo-shadow-lg); color:var(--neo-ink);
}
.hero-copy {
  min-width:0; display:flex; flex-direction:column; justify-content:center; border-right:var(--neo-border-heavy) solid var(--neo-ink); background-color:var(--neo-yellow);
  padding:clamp(2.4rem,6vw,6.2rem);
}
.hero-copy .eyebrow {
  background-color:var(--neo-paper); color:var(--neo-ink);
}
.hero-copy h1 {
  max-width:50rem; margin:clamp(1.25rem,3vw,2rem) 0 var(--neo-space-6); color:var(--neo-ink); font-size:clamp(3.35rem,7vw,7rem);
}
.hero-copy h1 span {
  display:block; color:var(--neo-purple);
}
.hero-lede {
  max-width:42rem; border-left:var(--neo-border-heavy) solid var(--neo-ink); color:#403c33; font-size:clamp(1rem,1.6vw,1.22rem); font-weight:680; padding-left:var(--neo-space-5);
}
.hero-copy .action-row { margin-top:var(--neo-space-8); }
.hero-copy .text-link { color:var(--neo-ink); }
.trust-line {
  display:flex; flex-wrap:wrap; gap:var(--neo-space-2); margin-top:var(--neo-space-8); color:var(--neo-ink); list-style:none;
}
.trust-line li {
  border:var(--neo-border-thin) solid var(--neo-ink); border-radius:var(--neo-radius-pill); background-color:var(--neo-paper); box-shadow:var(--neo-shadow-xs); font-size:0.73rem; font-weight:850;
  padding:0.36rem 0.7rem;
}
.trust-line li::before { display:none; }
.protocol-panel {
  min-width:0; display:flex; flex-direction:column; background-color:var(--neo-purple); color:#ffffff; padding:clamp(2rem,4.5vw,4rem);
}
.protocol-topline {
  display:flex; justify-content:space-between; gap:var(--neo-space-4); border-bottom:var(--neo-border-thin) solid currentColor; color:inherit; font-family:var(--neo-font-mono);
  font-size:0.65rem; font-weight:900; letter-spacing:0.1em; padding-bottom:var(--neo-space-3);
}
.signal-score {
  display:grid; grid-template-columns:auto minmax(0,1fr); align-items:end; gap:var(--neo-space-5); margin:clamp(2.4rem,6vw,5rem) 0 var(--neo-space-8);
}
.signal-score strong {
  color:var(--neo-yellow); font-family:var(--neo-font-display); font-size:clamp(4.8rem,9vw,8rem); font-weight:950; letter-spacing:-0.09em; line-height:0.78;
}
.signal-score span {
  border-left:var(--neo-border-thin) solid #ffffff; color:#ffffff; font-size:0.74rem; font-weight:720; padding-left:var(--neo-space-4);
}
.protocol-steps {
  display:grid; list-style:none;
}
.protocol-steps li {
  display:grid; grid-template-columns:2.6rem minmax(0,1fr); gap:var(--neo-space-3); border-top:var(--neo-border-thin) solid rgba(255,255,255,0.7); padding:0.95rem 0; transition:transform var(--neo-duration-fast) var(--neo-ease-spring);
}
.protocol-steps li:hover { transform:translateX(0.35rem); }
.protocol-steps li > span {
  color:var(--neo-yellow); font-family:var(--neo-font-mono); font-size:0.7rem; font-weight:900;
}
.protocol-steps strong,.protocol-steps small {
  display:block; color:#ffffff;
}
.protocol-steps small {
  margin-top:var(--neo-space-1); opacity:0.78;
}
.protocol-foot {
  margin-top:auto; border:var(--neo-border-thin) solid var(--neo-ink); border-radius:var(--neo-radius-control); background-color:var(--neo-green); box-shadow:var(--neo-shadow-sm); color:var(--neo-ink);
  font-size:0.78rem; font-weight:850; padding:var(--neo-space-4);
}
.principles-section {
  display:grid; grid-template-columns:minmax(16rem,0.58fr) minmax(0,1.42fr); gap:clamp(3rem,8vw,8rem); padding:clamp(6rem,10vw,9rem) clamp(0rem,3vw,2rem) var(--neo-space-8);
}
.section-intro {
  position:sticky; top:7rem; align-self:start;
}
.section-intro h2 {
  max-width:22rem; margin-top:var(--neo-space-4);
}
.principle-list {
  display:grid; gap:var(--neo-space-6);
}
.principle-list article {
  display:grid; grid-template-columns:4rem minmax(0,1fr); gap:var(--neo-space-4); border:var(--neo-border) solid var(--neo-ink); border-radius:var(--neo-radius-card); background-color:var(--neo-paper);
  box-shadow:var(--neo-shadow-md); padding:clamp(1.4rem,4vw,2.4rem); transition:background-color var(--neo-duration-fast) ease,box-shadow var(--neo-duration-fast) ease,transform var(--neo-duration-fast) var(--neo-ease-spring);
}
.principle-list article:nth-child(2) { background-color:var(--neo-yellow-soft); }
.principle-list article:nth-child(3) { background-color:#e8ffd6; }
.principle-list article:hover {
  box-shadow:10px 10px 0 var(--neo-purple); transform:translate(-3px,-3px) rotate(-0.25deg);
}
.principle-index {
  color:var(--neo-purple); font-family:var(--neo-font-mono); font-size:0.78rem; font-weight:950;
}
.principle-list h3 { font-size:clamp(1.55rem,3vw,2rem); }
.principle-list p {
  max-width:38rem; margin-top:var(--neo-space-3); color:var(--neo-muted);
}
.auth-page .page-shell {
  display:grid; place-items:center;
}
.auth-layout {
  width:min(100%,68rem); display:grid; grid-template-columns:minmax(0,1fr) minmax(24rem,0.82fr); overflow:hidden; border:var(--neo-border-heavy) solid var(--neo-ink); border-radius:var(--neo-radius-panel);
  background-color:var(--neo-paper); box-shadow:var(--neo-shadow-lg);
}
.auth-story {
  display:flex; flex-direction:column; justify-content:center; border-right:var(--neo-border-heavy) solid var(--neo-ink); background-color:var(--neo-purple); color:#ffffff;
  padding:clamp(2.2rem,5vw,4.8rem);
}
.auth-story .eyebrow { background-color:var(--neo-yellow); color:var(--neo-ink); }
.auth-story h1 {
  margin:var(--neo-space-6) 0 var(--neo-space-5); color:#ffffff; font-size:clamp(2.7rem,5vw,4.8rem);
}
.auth-story > p {
  max-width:31rem; color:#ffffff; font-weight:650;
}
.auth-promises {
  display:grid; gap:var(--neo-space-3); margin-top:var(--neo-space-8); list-style:none;
}
.auth-promises li {
  border:var(--neo-border-thin) solid var(--neo-ink); border-radius:var(--neo-radius-control); background-color:var(--neo-yellow); box-shadow:var(--neo-shadow-xs); color:var(--neo-ink); font-size:0.8rem;
  font-weight:800; padding:0.7rem 0.85rem;
}
.auth-form-panel {
  background-color:var(--neo-paper); padding:clamp(2rem,5vw,4.3rem);
}
.form-heading { margin-bottom:var(--neo-space-8); }
.form-heading h2 { margin:var(--neo-space-3) 0 var(--neo-space-2); }
.form-heading p:last-child,.form-switch { color:var(--neo-muted); }
.form-divider {
  display:flex; align-items:center; gap:var(--neo-space-3); margin:var(--neo-space-5) 0; color:var(--neo-muted); font-family:var(--neo-font-mono);
  font-size:0.7rem; font-weight:850;
}
.form-divider::before,.form-divider::after {
  height:var(--neo-border-thin); flex:1; background-color:var(--neo-ink); content:"";
}
.form-switch {
  margin-top:var(--neo-space-5); font-size:0.84rem; text-align:center;
}
.form-switch .text-link {
  min-height:2rem; margin-left:var(--neo-space-1);
}
.form-page-heading {
  display:grid; grid-template-columns:minmax(0,1fr) minmax(18rem,27rem); align-items:end; gap:clamp(2rem,7vw,6rem); margin-bottom:var(--neo-space-10); border-bottom:var(--neo-border-heavy) solid var(--neo-ink);
  padding-bottom:var(--neo-space-8);
}
.form-page-heading h1 { margin-top:var(--neo-space-4); }
.privacy-note {
  border:var(--neo-border) solid var(--neo-ink); border-radius:var(--neo-radius-card); background-color:var(--neo-yellow); box-shadow:var(--neo-shadow-md); padding:var(--neo-space-5);
}
.privacy-note strong {
  font-size:0.9rem; font-weight:950;
}
.privacy-note p {
  margin-top:var(--neo-space-2); color:#4d473b; font-size:0.82rem; font-weight:640;
}
.privacy-note.compact {
  max-width:27rem; background-color:var(--neo-yellow-soft);
}
.structured-form { gap:var(--neo-space-6); }
.form-section {
  position:relative; border:var(--neo-border) solid var(--neo-ink); border-radius:var(--neo-radius-panel); background-color:var(--neo-paper); box-shadow:var(--neo-shadow-md); padding:clamp(1.5rem,4vw,2.8rem);
  transition:box-shadow var(--neo-duration-base) var(--neo-ease-out),transform var(--neo-duration-base) var(--neo-ease-spring);
}
.form-section:focus-within {
  box-shadow:9px 9px 0 var(--neo-purple); transform:translate(-2px,-2px);
}
.form-section-heading {
  display:grid; grid-template-columns:3.4rem minmax(0,1fr); gap:var(--neo-space-4); margin-bottom:var(--neo-space-8);
}
.form-section-heading > span {
  width:3.1rem; height:3.1rem; display:grid; place-items:center; border:var(--neo-border-thin) solid var(--neo-ink); border-radius:50%;
  background-color:var(--neo-green); box-shadow:var(--neo-shadow-xs); color:var(--neo-ink); font-family:var(--neo-font-mono); font-size:0.74rem; font-weight:950;
}
.form-section:nth-of-type(even) .form-section-heading > span { background-color:var(--neo-yellow); }
.form-section-heading h2 { font-size:clamp(1.45rem,3vw,2.15rem); }
.form-section-heading p {
  margin-top:var(--neo-space-2); color:var(--neo-muted); font-size:0.84rem;
}
.form-grid {
  display:grid; gap:var(--neo-space-5);
}
.form-grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.form-section > label { margin-top:var(--neo-space-5); }
.choice-fieldset {
  min-width:0; margin:var(--neo-space-5) 0 0; border:0; border-top:var(--neo-border) solid var(--neo-ink); padding:var(--neo-space-5) 0 0;
}
.choice-fieldset legend {
  padding:0 var(--neo-space-4) 0 0; font-size:0.88rem; font-weight:900;
}
.choice-grid {
  display:flex; flex-wrap:wrap; gap:var(--neo-space-3);
}
.choice-tile {
  position:relative; min-height:3rem; display:inline-flex; align-items:center; cursor:pointer;
}
.choice-tile input {
  position:absolute; width:1px; height:1px; min-height:1px; opacity:0; pointer-events:none;
}
.choice-tile span {
  min-height:3rem; display:inline-flex; align-items:center; border:var(--neo-border-thin) solid var(--neo-ink); border-radius:var(--neo-radius-control); background-color:var(--neo-paper);
  box-shadow:var(--neo-shadow-xs); color:var(--neo-ink); font-size:0.82rem; font-weight:820; padding:0.55rem 0.9rem; transition:background-color var(--neo-duration-fast) ease,box-shadow var(--neo-duration-fast) ease,transform var(--neo-duration-fast) var(--neo-ease-spring);
}
.choice-tile:hover span {
  background-color:var(--neo-yellow-soft); box-shadow:var(--neo-shadow-sm); transform:translate(-1px,-1px);
}
.choice-tile input:checked + span,.choice-tile.is-selected span {
  background-color:var(--neo-purple); color:#ffffff;
}
.choice-tile input:focus-visible + span {
  outline:4px solid var(--neo-purple); outline-offset:4px;
}
.choice-tile.is-pressed span {
  box-shadow:none; transform:translate(2px,2px);
}
.form-submit {
  display:flex; align-items:center; justify-content:space-between; gap:var(--neo-space-8); border:var(--neo-border) solid var(--neo-ink); border-radius:var(--neo-radius-card);
  background-color:var(--neo-green); box-shadow:var(--neo-shadow-md); padding:var(--neo-space-6);
}
.form-submit p {
  max-width:43rem; color:var(--neo-ink); font-size:0.82rem; font-weight:760;
}
.source-grid {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--neo-space-6);
}
.source-card {
  min-width:0; display:grid; gap:var(--neo-space-8); border:var(--neo-border) solid var(--neo-ink); border-radius:var(--neo-radius-panel); background-color:var(--neo-paper);
  box-shadow:var(--neo-shadow-md); padding:clamp(1.5rem,4vw,2.7rem); transition:background-color var(--neo-duration-fast) ease,box-shadow var(--neo-duration-fast) ease,transform var(--neo-duration-fast) var(--neo-ease-spring);
}
.source-card:hover {
  box-shadow:10px 10px 0 var(--neo-purple); transform:translate(-3px,-3px);
}
.source-card.is-pressed {
  box-shadow:var(--neo-shadow-xs); transform:translate(3px,3px);
}
.source-card-top {
  display:flex; align-items:center; justify-content:space-between; gap:var(--neo-space-4);
}
.source-code {
  width:4.6rem; height:4.6rem; display:grid; place-items:center; border:var(--neo-border) solid var(--neo-ink); border-radius:50%;
  background-color:var(--neo-green); box-shadow:var(--neo-shadow-sm); color:var(--neo-ink); font-family:var(--neo-font-mono); font-size:0.75rem; font-weight:950;
  letter-spacing:0.08em;
}
.source-keep .source-code { background-color:var(--neo-coral); }
.source-card h2 { margin:var(--neo-space-2) 0 var(--neo-space-3); }
.source-card > div > p:last-child { color:var(--neo-muted); }
.source-meta { border-top:var(--neo-border) solid var(--neo-ink); }
.source-meta div {
  display:grid; grid-template-columns:7rem minmax(0,1fr); gap:var(--neo-space-4); border-bottom:var(--neo-border-thin) solid var(--neo-ink); padding:var(--neo-space-3) 0; font-size:0.8rem;
}
.source-meta dt {
  color:var(--neo-muted); font-weight:750;
}
.source-meta dd {
  font-weight:760; text-align:right;
}
.inline-note {
  display:flex; align-items:center; gap:var(--neo-space-4); margin-top:var(--neo-space-6); border:var(--neo-border) solid var(--neo-ink); border-radius:var(--neo-radius-card);
  background-color:var(--neo-green); box-shadow:var(--neo-shadow-sm); padding:var(--neo-space-5); font-size:0.82rem;
}
.inline-note strong { white-space:nowrap; }
.inline-note span {
  color:#263d19; font-weight:650;
}
.profile-hero {
  display:grid; grid-template-columns:minmax(0,1fr) minmax(17rem,0.55fr) auto; align-items:end; gap:clamp(2rem,5vw,5rem); border:var(--neo-border-heavy) solid var(--neo-ink); border-radius:var(--neo-radius-panel);
  background-color:var(--neo-purple); box-shadow:var(--neo-shadow-lg); color:#ffffff; padding:clamp(2rem,6vw,5rem);
}
.profile-identity .eyebrow { background-color:var(--neo-yellow); color:var(--neo-ink); }

.conversation-title .eyebrow { color:var(--neo-ink); }
.profile-identity h1 {
  margin:var(--neo-space-4) 0 var(--neo-space-5); color:#ffffff;
}
.profile-identity > p:last-child {
  max-width:43rem; color:#ffffff; opacity:0.84;
}
.profile-facts {
  display:flex; flex-wrap:wrap; align-content:flex-end; gap:var(--neo-space-2);
}
.profile-facts span {
  border:var(--neo-border-thin) solid var(--neo-ink); border-radius:var(--neo-radius-pill); background-color:var(--neo-yellow); box-shadow:var(--neo-shadow-xs); color:var(--neo-ink); font-size:0.78rem;
  font-weight:850; padding:0.38rem 0.7rem;
}
.profile-facts small {
  width:100%; margin-top:var(--neo-space-2); color:#ffffff; opacity:0.74;
}
.content-section { margin-top:clamp(4rem,8vw,7rem); }
.section-heading-line {
  display:flex; align-items:end; justify-content:space-between; gap:var(--neo-space-8); margin-bottom:var(--neo-space-8);
}
.section-heading-line h2 { margin-top:var(--neo-space-3); }
.section-heading-line > div > p:last-child {
  max-width:42rem; margin-top:var(--neo-space-3); color:var(--neo-muted);
}
.tag-grid {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--neo-space-6);
}
.tag-card {
  min-width:0; display:flex; flex-direction:column; border:var(--neo-border) solid var(--neo-ink); border-radius:var(--neo-radius-card); background-color:var(--neo-paper);
  box-shadow:var(--neo-shadow-md); padding:var(--neo-space-6); transition:box-shadow var(--neo-duration-fast) ease,transform var(--neo-duration-fast) var(--neo-ease-spring);
}
.tag-card:nth-child(3n + 2) { background-color:var(--neo-yellow-soft); }
.tag-card:nth-child(3n) { background-color:#efffe3; }
.tag-card:hover {
  box-shadow:9px 9px 0 var(--neo-purple); transform:translate(-2px,-2px) rotate(-0.2deg);
}
.tag-card-head {
  display:flex; align-items:center; justify-content:space-between; gap:var(--neo-space-3);
}
.source-label,.status-dot {
  border:var(--neo-border-thin) solid var(--neo-ink); border-radius:var(--neo-radius-pill); background-color:var(--neo-paper); color:var(--neo-ink); font-family:var(--neo-font-mono); font-size:0.62rem;
  font-weight:900; padding:0.27rem 0.55rem;
}
.status-dot.is-verified { background-color:var(--neo-green); }
.tag-category {
  margin:var(--neo-space-8) 0 var(--neo-space-2); color:var(--neo-purple-dark); font-family:var(--neo-font-mono); font-size:0.68rem; font-weight:900; letter-spacing:0.06em;
  text-transform:uppercase;
}
.tag-card h3 { margin-bottom:var(--neo-space-5); }
.tag-value,.tag-data {
  margin-bottom:var(--neo-space-6); color:var(--neo-muted); font-size:0.84rem;
}
.tag-data {
  display:grid; gap:var(--neo-space-2);
}
.tag-data div {
  display:grid; grid-template-columns:minmax(5rem,0.55fr) minmax(0,1.45fr); gap:var(--neo-space-3); border-top:var(--neo-border-thin) solid rgba(18,17,14,0.35); padding-top:var(--neo-space-2);
}
.tag-data dt { color:var(--neo-muted); }
.tag-data dd {
  color:var(--neo-ink); font-weight:760; text-align:right;
}
.tag-card footer {
  display:flex; justify-content:space-between; gap:var(--neo-space-3); margin-top:auto; border-top:var(--neo-border-thin) solid var(--neo-ink); padding-top:var(--neo-space-3);
  color:var(--neo-muted); font-size:0.67rem; font-weight:800;
}
.match-grid {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--neo-space-8);
}
.match-card {
  min-width:0; display:flex; flex-direction:column; border:var(--neo-border-heavy) solid var(--neo-ink); border-radius:var(--neo-radius-panel); background-color:var(--neo-paper);
  box-shadow:var(--neo-shadow-lg); padding:var(--neo-space-6); transition:background-color var(--neo-duration-fast) ease,box-shadow var(--neo-duration-fast) ease,transform var(--neo-duration-fast) var(--neo-ease-spring);
}
.match-card:nth-child(3n + 2) { background-color:var(--neo-yellow-soft); }
.match-card:nth-child(3n) { background-color:#edffe1; }
.match-card:hover {
  box-shadow:13px 13px 0 var(--neo-purple); transform:translate(-3px,-3px) rotate(-0.3deg);
}
.match-card.is-pressed {
  box-shadow:var(--neo-shadow-xs); transform:translate(4px,4px);
}
.match-card-top {
  display:flex; justify-content:space-between; gap:var(--neo-space-3); border-bottom:var(--neo-border-thin) solid var(--neo-ink); font-family:var(--neo-font-mono); font-size:0.64rem;
  font-weight:900; letter-spacing:0.08em; padding-bottom:var(--neo-space-3);
}
.match-score,.result-score,.event-score {
  display:flex; align-items:flex-start; color:var(--neo-purple); font-family:var(--neo-font-display); line-height:0.82;
}
.match-score { margin:var(--neo-space-8) 0 var(--neo-space-5); }
.match-score strong {
  font-size:clamp(4.4rem,8vw,7.2rem); font-weight:950; letter-spacing:-0.09em;
}
.match-score span,.result-score span,.event-score > span {
  margin-top:0.35rem; font-size:1.15rem; font-weight:950;
}
.score-track,.progress-track {
  height:1rem; overflow:hidden; border:var(--neo-border-thin) solid var(--neo-ink); border-radius:var(--neo-radius-pill); background-color:var(--neo-paper-deep);
}
.score-track span,.progress-track span {
  height:100%; display:block; border-right:var(--neo-border-thin) solid var(--neo-ink); background-color:var(--neo-green);
}
.match-card h2 {
  margin:var(--neo-space-6) 0 var(--neo-space-3); font-size:clamp(1.75rem,3vw,2.35rem);
}
.match-card > p { color:var(--neo-muted); }
.unknown-points {
  display:flex; flex-wrap:wrap; gap:var(--neo-space-2); margin:var(--neo-space-5) 0 var(--neo-space-8);
}
.unknown-points span {
  width:2.55rem; height:2.55rem; display:grid; place-items:center; border:var(--neo-border-thin) solid var(--neo-ink); border-radius:var(--neo-radius-control);
  background-color:var(--neo-yellow); box-shadow:var(--neo-shadow-xs); color:var(--neo-ink); font-family:var(--neo-font-mono); font-weight:950;
}
.match-card-footer {
  display:flex; align-items:center; justify-content:space-between; gap:var(--neo-space-4); margin-top:auto; border-top:var(--neo-border-thin) solid var(--neo-ink);
  padding-top:var(--neo-space-5);
}
.match-card-footer small { color:var(--neo-muted); }
.full-span { grid-column:1 / -1; }
.result-page .page-shell {
  display:grid; place-items:center;
}
.match-result {
  width:min(100%,72rem); display:grid; grid-template-columns:minmax(17rem,0.7fr) minmax(0,1.3fr); overflow:hidden; border:var(--neo-border-heavy) solid var(--neo-ink); border-radius:var(--neo-radius-panel);
  background-color:var(--neo-paper); box-shadow:var(--neo-shadow-lg);
}
.result-signal {
  min-width:0; display:flex; flex-direction:column; justify-content:space-between; border-right:var(--neo-border-heavy) solid var(--neo-ink); background-color:var(--neo-purple);
  color:#ffffff; padding:clamp(2rem,5vw,4rem);
}
.result-score {
  margin:clamp(4rem,9vw,8rem) 0 var(--neo-space-6); color:var(--neo-yellow);
}
.result-score strong {
  font-size:clamp(5.5rem,12vw,10rem); font-weight:950; letter-spacing:-0.1em;
}
.result-signal > p {
  color:#ffffff; font-size:0.78rem; opacity:0.8;
}
.result-content {
  display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:clamp(2rem,6vw,5rem);
}
.result-content h1 {
  margin:var(--neo-space-5) 0 var(--neo-space-6); font-size:clamp(2.6rem,5vw,5rem);
}
.result-lede {
  max-width:39rem; color:var(--neo-muted); font-size:1.05rem;
}
.large-points span {
  width:3rem; height:3rem; background-color:var(--neo-green);
}
.result-content form { margin-top:var(--neo-space-2); }
.result-content .back-link { margin-top:var(--neo-space-6); }
.privacy-boundary {
  grid-column:1 / -1; display:grid; grid-template-columns:max-content minmax(0,1fr); gap:var(--neo-space-5); border-top:var(--neo-border-heavy) solid var(--neo-ink); background-color:var(--neo-coral);
  padding:var(--neo-space-6);
}
.privacy-boundary strong { font-weight:950; }
.privacy-boundary p {
  color:#4a251e; font-weight:680;
}
.inbox-list {
  display:grid; gap:var(--neo-space-5);
}
.inbox-row {
  display:grid; grid-template-columns:4.2rem minmax(0,1fr) auto; align-items:center; gap:var(--neo-space-6); border:var(--neo-border) solid var(--neo-ink); border-radius:var(--neo-radius-card);
  background-color:var(--neo-paper); box-shadow:var(--neo-shadow-md); padding:var(--neo-space-5); transition:background-color var(--neo-duration-fast) ease,box-shadow var(--neo-duration-fast) ease,transform var(--neo-duration-fast) var(--neo-ease-spring);
}
.inbox-row:nth-child(even) { background-color:var(--neo-yellow-soft); }
.inbox-row:hover {
  box-shadow:10px 10px 0 var(--neo-purple); transform:translate(-3px,-3px);
}
.inbox-row.is-pressed {
  box-shadow:var(--neo-shadow-xs); transform:translate(3px,3px);
}
.inbox-index {
  width:4rem; height:4rem; display:grid; place-items:center; border:var(--neo-border-thin) solid var(--neo-ink); border-radius:var(--neo-radius-control);
  background-color:var(--neo-purple); box-shadow:var(--neo-shadow-xs); color:#ffffff; font-family:var(--neo-font-mono); font-size:0.78rem; font-weight:950;
}
.inbox-copy { min-width:0; }
.inbox-copy h2 {
  margin:var(--neo-space-2) 0 var(--neo-space-3); font-size:clamp(1.45rem,3vw,2.1rem);
}
.last-message {
  max-width:54rem; overflow:hidden; color:var(--neo-muted); text-overflow:ellipsis; white-space:nowrap;
}
.last-message.is-empty { font-style:italic; }
.conversation-hero {
  display:grid; grid-template-columns:minmax(0,1fr) minmax(18rem,0.58fr); gap:var(--neo-space-6); border:var(--neo-border-heavy) solid var(--neo-ink); border-radius:var(--neo-radius-panel); background-color:var(--neo-yellow);
  box-shadow:var(--neo-shadow-lg); padding:clamp(1.7rem,4vw,3.3rem);
}
.conversation-title h1 {
  margin:var(--neo-space-4) 0 var(--neo-space-4); font-size:clamp(2.7rem,6vw,5.4rem);
}
.conversation-title > p:last-child {
  max-width:46rem; color:#4c473a; font-weight:680;
}
.relation-progress {
  align-self:center; border:var(--neo-border) solid var(--neo-ink); border-radius:var(--neo-radius-card); background-color:var(--neo-paper); box-shadow:var(--neo-shadow-md); padding:var(--neo-space-5);
}
.progress-labels {
  display:flex; justify-content:space-between; gap:var(--neo-space-2); margin-top:var(--neo-space-3); font-family:var(--neo-font-mono); font-size:0.63rem;
  font-weight:900;
}
.visible-info {
  grid-column:1 / -1; display:grid; grid-template-columns:max-content max-content minmax(0,1fr); align-items:center; gap:var(--neo-space-4); border-top:var(--neo-border) solid var(--neo-ink);
  padding-top:var(--neo-space-5);
}
.visible-info > span {
  border:var(--neo-border-thin) solid var(--neo-ink); border-radius:var(--neo-radius-pill); background-color:var(--neo-purple); color:#ffffff; font-family:var(--neo-font-mono); font-size:0.62rem;
  font-weight:900; padding:0.3rem 0.6rem;
}
.visible-info strong { font-weight:950; }
.visible-info p { color:#ffffff; opacity:0.82; }
.group-hero { background-color:var(--neo-green); }
.unlock-panel,.member-strip {
  display:flex; align-items:center; justify-content:space-between; gap:var(--neo-space-8); margin-top:var(--neo-space-6); border:var(--neo-border) solid var(--neo-ink);
  border-radius:var(--neo-radius-card); background-color:var(--neo-green); box-shadow:var(--neo-shadow-md); padding:var(--neo-space-6);
}
.unlock-panel > div:last-child {
  display:flex; justify-content:flex-end; flex-wrap:wrap; gap:var(--neo-space-3);
}
.member-strip {
  align-items:flex-start; background-color:var(--neo-yellow-soft);
}
.member-strip > div {
  display:flex; justify-content:flex-end; flex-wrap:wrap; gap:var(--neo-space-3);
}
.member-strip p {
  display:grid; border:var(--neo-border-thin) solid var(--neo-ink); border-radius:var(--neo-radius-control); background-color:var(--neo-paper); box-shadow:var(--neo-shadow-xs); padding:var(--neo-space-3);
}
.member-strip p span {
  color:var(--neo-muted); font-size:0.7rem;
}
.chat-jump {
  display:inline-flex; margin:var(--neo-space-6) 0 var(--neo-space-3); border-bottom:var(--neo-border-thin) solid var(--neo-ink); font-size:0.78rem; font-weight:900; text-decoration:none;
}
.chat-layout {
  display:grid; grid-template-columns:minmax(0,1.5fr) minmax(18rem,0.5fr); align-items:start; gap:var(--neo-space-6); margin-top:var(--neo-space-3);
}
.message-stream {
  min-width:0; display:flex; flex-direction:column; gap:var(--neo-space-5); border:var(--neo-border-heavy) solid var(--neo-ink); border-radius:var(--neo-radius-panel);
  background-color:var(--neo-paper-deep); box-shadow:var(--neo-shadow-lg); padding:clamp(1rem,3vw,2rem);
}
.stream-label {
  display:flex; justify-content:space-between; gap:var(--neo-space-4); border-bottom:var(--neo-border-thin) solid var(--neo-ink); font-family:var(--neo-font-mono); font-size:0.66rem;
  font-weight:900; letter-spacing:0.07em; padding-bottom:var(--neo-space-3);
}
.message {
  width:min(82%,40rem); display:grid; gap:var(--neo-space-2); border:var(--neo-border-thin) solid var(--neo-ink); border-radius:var(--neo-radius-card); background-color:var(--neo-paper);
  box-shadow:var(--neo-shadow-sm); padding:var(--neo-space-4);
}
.message.mine {
  align-self:flex-end; background-color:var(--neo-purple); color:#ffffff;
}
.message.theirs {
  align-self:flex-start; background-color:var(--neo-yellow); color:var(--neo-ink);
}
.message.system {
  width:min(92%,50rem); align-self:center; background-color:var(--neo-green); color:var(--neo-ink); animation:neo-system-pulse 4s ease-in-out 1;
}
.message-author {
  font-family:var(--neo-font-mono); font-size:0.62rem; font-weight:900; letter-spacing:0.06em;
}
.message p { font-weight:650; }
.message time {
  color:inherit; font-family:var(--neo-font-mono); font-size:0.61rem; opacity:0.68;
}
.stream-empty {
  min-height:13rem; display:grid; place-items:center; align-content:center; border:var(--neo-border-thin) dashed var(--neo-ink); border-radius:var(--neo-radius-card);
  color:var(--neo-muted); text-align:center;
}
.stream-empty span {
  font-family:var(--neo-font-mono); font-size:0.66rem; font-weight:900;
}
.toolbox {
  position:sticky; top:7.2rem; display:grid; gap:var(--neo-space-3); border:var(--neo-border-heavy) solid var(--neo-ink); border-radius:var(--neo-radius-panel);
  background-color:var(--neo-yellow); box-shadow:var(--neo-shadow-lg); padding:var(--neo-space-6);
}
.toolbox > div { margin-bottom:var(--neo-space-3); }
.toolbox h2 { margin:var(--neo-space-3) 0 var(--neo-space-2); }
.toolbox > div > p:last-child {
  color:#4c473a; font-size:0.8rem;
}
.toolbox form,.toolbox form button { width:100%; }
.toolbox form button {
  justify-content:flex-start; border-radius:var(--neo-radius-control); background-color:var(--neo-paper); color:var(--neo-ink); text-align:left;
}
.toolbox button span {
  min-width:2.6rem; font-family:var(--neo-font-mono); font-size:0.66rem;
}
.toolbox .demo-tool {
  background-color:var(--neo-purple); color:#ffffff;
}
.message-form {
  margin-top:var(--neo-space-6); border:var(--neo-border-heavy) solid var(--neo-ink); border-radius:var(--neo-radius-panel); background-color:var(--neo-paper); box-shadow:var(--neo-shadow-lg); padding:var(--neo-space-6);
}
.message-form > label {
  display:flex; justify-content:space-between; gap:var(--neo-space-4);
}
.message-form > label span {
  color:var(--neo-muted); font-size:0.7rem;
}
.composer-row {
  display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:stretch; gap:var(--neo-space-4);
}
.composer-row textarea { min-height:6rem; }
.archive-notice {
  margin-top:var(--neo-space-6); border:var(--neo-border) solid var(--neo-ink); border-radius:var(--neo-radius-card); background-color:var(--neo-yellow-soft); box-shadow:var(--neo-shadow-md); padding:var(--neo-space-6);
}
.archive-notice p {
  margin-top:var(--neo-space-2); color:var(--neo-muted);
}
.danger-zone {
  margin-top:clamp(3rem,7vw,6rem); border:var(--neo-border) solid var(--neo-ink); border-radius:var(--neo-radius-card); background-color:var(--neo-paper); box-shadow:var(--neo-shadow-sm); overflow:hidden;
}
.danger-zone summary {
  min-height:4rem; display:flex; align-items:center; justify-content:space-between; gap:var(--neo-space-4); background-color:var(--neo-coral);
  cursor:pointer; font-weight:950; padding:var(--neo-space-4) var(--neo-space-5);
}
.danger-zone > div {
  border-top:var(--neo-border) solid var(--neo-ink); padding:var(--neo-space-6);
}
.danger-zone > div > p {
  margin-bottom:var(--neo-space-5); color:var(--neo-muted);
}
.safety-actions {
  display:flex; align-items:end; flex-wrap:wrap; gap:var(--neo-space-4);
}
.safety-actions form { flex:1 1 18rem; }
.filter-bar {
  display:grid; grid-template-columns:auto repeat(3,minmax(10rem,1fr)) auto auto; align-items:end; gap:var(--neo-space-4); margin-bottom:var(--neo-space-8); border:var(--neo-border-heavy) solid var(--neo-ink);
  border-radius:var(--neo-radius-panel); background-color:var(--neo-purple); box-shadow:var(--neo-shadow-lg); padding:var(--neo-space-6);
}
.filter-bar label { color:#ffffff; }
.filter-heading {
  align-self:stretch; display:grid; align-content:center; border:var(--neo-border-thin) solid var(--neo-ink); border-radius:var(--neo-radius-control); background-color:var(--neo-yellow);
  box-shadow:var(--neo-shadow-xs); color:var(--neo-ink); padding:var(--neo-space-3);
}
.filter-heading span {
  font-family:var(--neo-font-mono); font-size:0.62rem; font-weight:900;
}
.filter-heading strong { font-size:0.84rem; }
.filter-check {
  min-height:3.15rem; display:flex; align-items:center; gap:var(--neo-space-2); border:var(--neo-border-thin) solid var(--neo-ink); border-radius:var(--neo-radius-control);
  background-color:var(--neo-paper); box-shadow:var(--neo-shadow-xs); color:var(--neo-ink) !important; padding:0.65rem 0.8rem; cursor:pointer;
}
.filter-check input {
  width:1.2rem; flex:0 0 auto;
}
.filter-actions {
  display:flex; align-items:center; gap:var(--neo-space-3);
}
.filter-actions a {
  color:#ffffff; font-size:0.78rem; font-weight:850;
}
.event-list {
  display:grid; gap:var(--neo-space-6);
}
.event-row {
  min-width:0; display:grid; grid-template-columns:5.2rem minmax(0,1fr) minmax(10rem,0.25fr); gap:var(--neo-space-6); border:var(--neo-border-heavy) solid var(--neo-ink); border-radius:var(--neo-radius-panel);
  background-color:var(--neo-paper); box-shadow:var(--neo-shadow-lg); padding:var(--neo-space-6); transition:background-color var(--neo-duration-fast) ease,box-shadow var(--neo-duration-fast) ease,transform var(--neo-duration-fast) var(--neo-ease-spring);
}
.event-row:nth-child(even) { background-color:var(--neo-yellow-soft); }
.event-row:hover {
  box-shadow:13px 13px 0 var(--neo-purple); transform:translate(-3px,-3px);
}
.event-row.is-pressed {
  box-shadow:var(--neo-shadow-xs); transform:translate(4px,4px);
}
.event-order {
  display:flex; flex-direction:column; align-items:center; gap:var(--neo-space-2); border-right:var(--neo-border-thin) solid var(--neo-ink); padding-right:var(--neo-space-5);
}
.event-order span {
  width:3.8rem; height:3.8rem; display:grid; place-items:center; border:var(--neo-border-thin) solid var(--neo-ink); border-radius:50%;
  background-color:var(--neo-green); box-shadow:var(--neo-shadow-xs); font-family:var(--neo-font-mono); font-weight:950;
}
.event-order small {
  color:var(--neo-muted); font-family:var(--neo-font-mono); font-size:0.57rem; font-weight:900; writing-mode:vertical-rl;
}
.event-main { min-width:0; }
.event-status-line {
  display:flex; align-items:center; gap:var(--neo-space-3); color:var(--neo-muted); font-size:0.74rem; font-weight:850;
}
.event-main h2 {
  margin:var(--neo-space-4) 0 var(--neo-space-3); font-size:clamp(1.7rem,3.2vw,2.55rem);
}
.event-place {
  display:flex; flex-wrap:wrap; gap:var(--neo-space-3); color:var(--neo-muted);
}
.event-place strong { color:var(--neo-ink); }
.event-meta {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:var(--neo-space-5); border-block:var(--neo-border-thin) solid var(--neo-ink);
}
.event-meta div {
  display:grid; gap:var(--neo-space-1); padding:var(--neo-space-3);
}
.event-meta div + div { border-left:var(--neo-border-thin) solid var(--neo-ink); }
.event-meta dt {
  color:var(--neo-muted); font-size:0.65rem; font-weight:850;
}
.event-meta dd {
  font-size:0.8rem; font-weight:800;
}
.event-tags {
  display:flex; align-items:center; flex-wrap:wrap; gap:var(--neo-space-2); margin-top:var(--neo-space-4);
}
.event-tags > span {
  font-size:0.7rem; font-weight:900;
}
.event-tags em,.event-tags strong {
  border:var(--neo-border-thin) solid var(--neo-ink); border-radius:var(--neo-radius-pill); background-color:var(--neo-paper); box-shadow:var(--neo-shadow-xs); font-size:0.68rem; font-style:normal;
  font-weight:800; padding:0.3rem 0.58rem;
}
.event-tags strong { background-color:var(--neo-green); }
.event-action {
  display:flex; flex-direction:column; align-items:stretch; justify-content:space-between; gap:var(--neo-space-5); border-left:var(--neo-border-thin) solid var(--neo-ink);
  padding-left:var(--neo-space-6);
}
.event-score { flex-wrap:wrap; }
.event-score strong {
  font-size:clamp(3.6rem,6vw,5.6rem); font-weight:950; letter-spacing:-0.08em;
}
.event-score small {
  width:100%; margin-top:var(--neo-space-2); color:var(--neo-muted); font-family:var(--neo-font-body); font-size:0.68rem; font-weight:800;
}
.event-detail-hero {
  display:grid; grid-template-columns:minmax(0,1fr) minmax(12rem,0.28fr) minmax(16rem,0.38fr); overflow:hidden; border:var(--neo-border-heavy) solid var(--neo-ink); border-radius:var(--neo-radius-panel); background-color:var(--neo-paper);
  box-shadow:var(--neo-shadow-lg);
}
.event-detail-copy,.event-hero-score,.event-primary-action {
  min-width:0; padding:clamp(1.7rem,4vw,3.2rem);
}
.event-detail-copy h1 {
  margin:var(--neo-space-5) 0 var(--neo-space-5); font-size:clamp(2.7rem,5vw,5rem);
}
.event-detail-copy > p {
  max-width:46rem; color:var(--neo-muted);
}
.event-detail-copy .event-status-line { color:var(--neo-muted); }
.event-hero-meta {
  display:flex; flex-wrap:wrap; gap:var(--neo-space-2); margin-top:var(--neo-space-6);
}
.event-hero-meta span {
  border:var(--neo-border-thin) solid var(--neo-ink); border-radius:var(--neo-radius-pill); background-color:var(--neo-yellow-soft); box-shadow:var(--neo-shadow-xs); color:var(--neo-ink); font-size:0.72rem; font-weight:820;
  padding:0.36rem 0.68rem;
}
.event-hero-score {
  display:flex; flex-direction:column; justify-content:center; border-left:var(--neo-border-heavy) solid var(--neo-ink); background-color:var(--neo-yellow);
}
.event-hero-score > span,.event-primary-action > span {
  font-family:var(--neo-font-mono); font-size:0.64rem; font-weight:900; letter-spacing:0.08em;
}
.event-hero-score strong {
  color:var(--neo-purple); font-family:var(--neo-font-display); font-size:clamp(4rem,7vw,7rem); font-weight:950; letter-spacing:-0.09em; line-height:0.86;
  margin:var(--neo-space-5) 0 var(--neo-space-3);
}
.event-primary-action {
  display:flex; flex-direction:column; justify-content:center; border-left:var(--neo-border-heavy) solid var(--neo-ink); background-color:var(--neo-green);
}
.event-primary-action > strong {
  margin:var(--neo-space-3) 0 var(--neo-space-4); color:var(--neo-ink); font-size:1.45rem; font-weight:950;
}
.event-primary-action > span,
.event-primary-action small { color:var(--neo-ink); }
.event-primary-action form { margin-bottom:var(--neo-space-3); }
.detail-grid {
  display:grid; grid-template-columns:minmax(0,1.35fr) minmax(19rem,0.65fr); gap:var(--neo-space-6); margin-top:var(--neo-space-8);
}
.detail-panel {
  border:var(--neo-border) solid var(--neo-ink); border-radius:var(--neo-radius-panel); background-color:var(--neo-paper); box-shadow:var(--neo-shadow-md); padding:clamp(1.5rem,4vw,2.7rem);
}
.privacy-panel { background-color:var(--neo-yellow-soft); }
.panel-heading {
  display:flex; align-items:center; gap:var(--neo-space-4); margin-bottom:var(--neo-space-6); border-bottom:var(--neo-border) solid var(--neo-ink); padding-bottom:var(--neo-space-4);
}
.panel-heading > span {
  width:2.8rem; height:2.8rem; display:grid; place-items:center; border:var(--neo-border-thin) solid var(--neo-ink); border-radius:50%;
  background-color:var(--neo-purple); color:#ffffff; font-family:var(--neo-font-mono); font-size:0.7rem; font-weight:900;
}
.detail-list { display:grid; }
.detail-list > div {
  display:grid; grid-template-columns:minmax(7rem,0.35fr) minmax(0,0.65fr); gap:var(--neo-space-4); border-bottom:var(--neo-border-thin) solid rgba(18,17,14,0.35); padding:var(--neo-space-3) 0;
}
.detail-list dt {
  color:var(--neo-muted); font-size:0.78rem; font-weight:800;
}
.detail-list dd { font-weight:800; }
.detail-list dd small {
  display:block; margin-top:var(--neo-space-1); color:var(--neo-muted);
}
.merchant-benefit {
  display:grid; margin-top:var(--neo-space-6); border:var(--neo-border) solid var(--neo-ink); border-radius:var(--neo-radius-card); background-color:var(--neo-green); box-shadow:var(--neo-shadow-sm);
  padding:var(--neo-space-5);
}
.merchant-benefit span,.merchant-benefit small {
  font-family:var(--neo-font-mono); font-size:0.64rem; font-weight:850;
}
.merchant-benefit strong {
  margin:var(--neo-space-2) 0; font-size:1.1rem;
}
.privacy-panel > p + p { margin-top:var(--neo-space-4); }
.privacy-rule-list {
  display:grid; gap:var(--neo-space-3); margin-top:var(--neo-space-6);
}
.privacy-rule-list span {
  border:var(--neo-border-thin) solid var(--neo-ink); border-radius:var(--neo-radius-control); background-color:var(--neo-paper); box-shadow:var(--neo-shadow-xs); font-size:0.76rem; font-weight:820;
  padding:var(--neo-space-3);
}
.group-entry,.coupon-panel,.review-panel {
  margin-top:var(--neo-space-8); border:var(--neo-border-heavy) solid var(--neo-ink); border-radius:var(--neo-radius-panel); box-shadow:var(--neo-shadow-lg);
}
.group-entry {
  display:flex; align-items:center; justify-content:space-between; gap:var(--neo-space-8); background-color:var(--neo-green); padding:var(--neo-space-6);
}
.group-entry > div { display:grid; }
.group-entry span,.redeem-code span {
  font-family:var(--neo-font-mono); font-size:0.64rem; font-weight:900; letter-spacing:0.08em;
}
.group-entry strong {
  margin:var(--neo-space-2) 0; font-size:1.55rem;
}
.coupon-panel {
  display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:var(--neo-space-8); background-color:var(--neo-yellow); padding:var(--neo-space-6);
}
.coupon-panel h2 { margin:var(--neo-space-3) 0 var(--neo-space-2); }
.redeem-code {
  display:grid; border:var(--neo-border) solid var(--neo-ink); border-radius:var(--neo-radius-card); background-color:var(--neo-purple); box-shadow:var(--neo-shadow-sm); color:#ffffff;
  padding:var(--neo-space-5);
}
.redeem-code strong {
  margin-top:var(--neo-space-2); color:#ffffff; font-family:var(--neo-font-mono); font-size:1.35rem; letter-spacing:0.08em;
}
.review-panel {
  background-color:var(--neo-paper); padding:var(--neo-space-6);
}
.applicant-list {
  display:grid; gap:var(--neo-space-4);
}
.applicant-row {
  display:grid; grid-template-columns:minmax(7rem,0.4fr) repeat(2,minmax(6rem,0.25fr)) auto; align-items:center; gap:var(--neo-space-5); border:var(--neo-border) solid var(--neo-ink); border-radius:var(--neo-radius-card);
  background-color:var(--neo-yellow-soft); box-shadow:var(--neo-shadow-sm); padding:var(--neo-space-4);
}
.applicant-index {
  font-family:var(--neo-font-mono); font-size:0.72rem; font-weight:900;
}
.applicant-row > p { display:grid; }
.applicant-row > p strong {
  color:var(--neo-purple); font-size:1.45rem; font-weight:950;
}
.applicant-row > p span {
  color:var(--neo-muted); font-size:0.68rem;
}
.applicant-row > div {
  display:flex; gap:var(--neo-space-3);
}
.compact-empty {
  min-height:8rem; box-shadow:var(--neo-shadow-sm); padding:var(--neo-space-6);
}
.compact-empty p { margin-bottom:0; }
:root[data-pointer="fine"] .match-card:hover .unknown-points span,:root[data-pointer="fine"] .source-card:hover .source-code,:root[data-pointer="fine"] .event-row:hover .event-order span { transform:rotate(-3deg) scale(1.03); }
.source-code,.event-order span,.unknown-points span { transition:transform var(--neo-duration-fast) var(--neo-ease-spring); }
.form-section[data-motion-item].is-motion-visible,.detail-panel[data-motion-item].is-motion-visible { will-change:auto; }
.is-submitting .button,.is-submitting button[type="submit"] {
  box-shadow:var(--neo-shadow-xs); transform:translate(2px,2px);
}
.danger-zone.is-open { box-shadow:7px 7px 0 var(--neo-coral); }
.filter-check.has-value { background-color:var(--neo-green); }
@media (prefers-reduced-motion:no-preference) {
  .match-score strong,.result-score strong,.event-score strong,.event-hero-score strong { animation:neo-score-breathe 4.8s ease-in-out 1.1s 1; }
  .group-entry { animation:neo-group-arrive 520ms var(--neo-ease-spring) both; }
}
@keyframes neo-group-arrive {
  from {
    opacity:0; transform:translateY(1rem) rotate(-0.4deg);
  }
  to {
    opacity:1; transform:translateY(0) rotate(0);
  }
}
@media (forced-colors:active) {
  .home-hero,.auth-layout,.match-card,.event-row,.message-stream,.event-detail-hero,.detail-panel { box-shadow:none; }
  .message.mine,.protocol-panel,.result-signal,.redeem-code {
    border-color:CanvasText; background-color:Canvas; color:CanvasText;
  }
}
