:root{
  --bg:#1f1b2e; --bg-deep:#15121f; --surface:#2a2438;
  --line:rgba(212,168,87,0.18); --gold:#d4a857; --gold-soft:#e8c77e;
  --text:#f2ede4; --muted:#a89bc2; --radius:18px;
}
*{ box-sizing:border-box; }
body{
  margin:0; min-height:100vh;
  background: var(--site-outer);
  font-family:'Inter',sans-serif; color:var(--text);
  padding: 0;
}
.card {
  width: 100%;
  max-width: var(--content-narrow);
  box-sizing: border-box;

  margin: 32px auto 0;
  padding: 40px 32px;
}
h1{
  font-family:'Fraunces',serif; font-weight:600; font-size:30px;
  line-height:1.15; margin:0 0 10px;
}
.subhead{ margin:0 0 28px; }
form{
  display:grid; grid-template-columns:1.3fr .8fr 1fr;
  gap:12px; margin-bottom:22px;
}
/*
button{
  font-family:'Space Mono',monospace; font-size:12px;
  letter-spacing:.08em; text-transform:uppercase; color:var(--bg-deep);
  background:linear-gradient(135deg,var(--gold-soft),var(--gold));
  border:none; border-radius:999px; padding:13px 26px; cursor:pointer;
}
button:hover{ filter:brightness(1.06); }
*/
.error{ font-size:13px; color:#e2693c; min-height:16px; margin:2px 0 0; }


/* Motif row: three icons + constellation */
.motif-header{
  display:flex; align-items:center; justify-content:center;
  gap:12px; margin:0 0 14px; flex-wrap:wrap;
}
.motif-icon{
  display:flex; flex-direction:column; align-items:center; gap:5px;
}
.motif-icon span{
  font-family:'Space Mono',monospace; font-size:9px; letter-spacing:.08em;
  text-transform:uppercase; color:var(--muted); text-align:center; max-width:68px;
}
.motif-sep{
  font-size:18px; color:var(--muted); opacity:.5; flex-shrink:0; margin-top:-10px;
}

.constellation-wrap{
  display:flex; justify-content:center; margin:0 0 16px;
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  padding:10px 0;
}

.result-nickname{
  font-family:'Space Mono',monospace; font-size:11px; letter-spacing:.12em;
  text-transform:uppercase; color:var(--gold); text-align:center; margin:0 0 6px;
}
.result-name{
  font-family:'Fraunces',serif; font-style:italic; font-weight:500;
  font-size:26px; text-align:center; margin:0 0 2px; letter-spacing:.01em;
}
.result-fn{
  font-family:'Space Mono',monospace; font-size:10px; letter-spacing:.1em;
  text-transform:uppercase; color:var(--muted); text-align:center; margin:0 0 14px;
}
.tagline{
  font-family:'Fraunces',serif; font-size:16px; text-align:center;
  color:var(--text); margin:0 0 10px; line-height:1.4;
}
.motif-desc{
  font-size:12px; font-style:italic; color:var(--muted);
  text-align:center; margin:0 0 18px;
}

/* Correspondences: tree + animal */
.correspondences{
  display:flex; gap:14px; justify-content:center; margin:0 0 22px; flex-wrap:wrap;
}
.corr-card{
  display:flex; align-items:center; gap:10px; text-align:left;
  border:1px solid var(--line); border-radius:12px; padding:10px 16px;
  max-width:230px;
}
.corr-card .corr-icon{ flex-shrink:0; display:flex; }
.corr-card .corr-dot{
  width:34px; height:34px; border-radius:50%; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  font-family:'Fraunces',serif; font-style:italic; font-size:13px;
}
.corr-card .corr-animal-img{
  width:44px; height:auto; flex-shrink:0; display:block;
}
.corr-label{
  font-family:'Space Mono',monospace; font-size:8px; letter-spacing:.1em;
  text-transform:uppercase; color:var(--muted); margin-bottom:2px;
}
.corr-name{
  font-family:'Fraunces',serif; font-style:italic; font-size:15px;
  color:var(--text); margin-bottom:2px;
}
.corr-desc{
  font-family:'Fraunces',serif; font-style:italic; font-size:10px;
  color:var(--muted); line-height:1.3;
}

/* Accordion profile sections */
.profiles{ display:flex; flex-direction:column; gap:8px; margin-bottom:22px; }
.profile-block{
  border:1px solid var(--line); border-radius:12px; overflow:hidden;
}
.profile-toggle{
  width:100%; background:none; border:none; color:var(--text);
  font-family:'Space Mono',monospace; font-size:10px; letter-spacing:.1em;
  text-transform:uppercase; cursor:pointer; padding:13px 16px;
  display:flex; align-items:center; justify-content:space-between;
  border-radius:0;
}
.profile-toggle:hover{ background:rgba(212,168,87,.07); }
.profile-toggle .arrow{ transition:transform .25s ease; }
.profile-toggle.open .arrow{ transform:rotate(180deg); }
.profile-body{
  display:none; padding:0 16px 16px; font-size:13.5px;
  line-height:1.65; color:var(--muted);
}
.profile-body.open{ display:block; }
.profile-body p{ margin:0 0 10px; }
.profile-body .label{
  font-family:'Space Mono',monospace; font-size:9.5px; letter-spacing:.1em;
  text-transform:uppercase; color:var(--gold); display:block; margin:12px 0 5px;
}
.profile-body ul{
  margin:0 0 8px; padding-left:18px; list-style:disc;
}
.profile-body ul li{ margin-bottom:4px; color:var(--text); }
.profile-body ul.shadow li{ color:var(--muted); }

/* Color swatch inline */
.swatch-inline{
  display:inline-block; width:10px; height:10px; border-radius:50%;
  border:1px solid rgba(242,237,228,.3); vertical-align:middle;
  margin-right:5px; flex-shrink:0;
}

.reset{
  display:block; text-align:center; font-size:13px;
  color:var(--gold-soft); text-decoration:none; cursor:pointer; margin-top:4px;
}
.reset:hover{ text-decoration:underline; }

/* Constellation stars */
.star{ opacity:0; }
.star.show{ animation:starIn .5s ease forwards; }
@keyframes starIn{ from{opacity:0} to{opacity:1} }

@media (max-width:440px){
  form{ grid-template-columns:1fr; }
  .card{ padding:32px 20px; }
}