:root {
  --aie-blue: #2d2e7f;
  --aie-blue-dark: #20215f;
  --aie-gold: #e9c873;
  --aie-cream: #fffaf0;
  --aie-green: #9eb5a4;
  --aie-sand: #eadcc8;
  --aie-ink: #191a3b;
}

.aie-app,
.aie-app * { box-sizing: border-box; }

.aie-app {
  position: relative;
  width: 100%;
  overflow: hidden;
  color: var(--aie-ink);
  font-family: Inter, Aptos, "Segoe UI", Arial, sans-serif;
  background:
    radial-gradient(circle at 10% 10%, rgba(233,200,115,.23), transparent 27rem),
    radial-gradient(circle at 92% 16%, rgba(158,181,164,.24), transparent 26rem),
    linear-gradient(145deg, #fffdf8 0%, #f4f3ff 100%);
}

.aie-submit { min-height: 680px; padding: clamp(24px, 5vw, 70px) 18px; }
.aie-panel {
  position: relative;
  z-index: 2;
  max-width: 850px;
  margin: 0 auto;
  padding: clamp(28px, 5vw, 58px);
  border: 1px solid rgba(45,46,127,.12);
  border-radius: 30px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 26px 70px rgba(37,35,92,.14);
  backdrop-filter: blur(12px);
}

.aie-kicker {
  margin: 0 0 12px;
  color: var(--aie-blue);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.aie-app h1 {
  margin: 0;
  color: var(--aie-blue-dark);
  font-size: clamp(30px, 4.5vw, 58px);
  line-height: 1.08;
  letter-spacing: -.035em;
}

.aie-lead { margin: 20px 0 34px; font-size: 18px; line-height: 1.65; color: #4c4d6e; }
.aie-question-form label { display:block; margin: 0 0 8px; font-weight: 750; color: var(--aie-blue-dark); }
.aie-optional { font-weight: 500; color: #777894; }

.aie-question-form textarea,
.aie-question-form input,
.aie-question-form select {
  width: 100%;
  border: 1.5px solid #d6d6e6;
  border-radius: 14px;
  padding: 14px 16px;
  background: #fff;
  color: var(--aie-ink);
  font: inherit;
  outline: 0;
  transition: border-color .2s, box-shadow .2s;
}

.aie-question-form textarea { resize: vertical; min-height: 145px; }
.aie-question-form textarea:focus,
.aie-question-form input:focus,
.aie-question-form select:focus { border-color: var(--aie-blue); box-shadow: 0 0 0 4px rgba(45,46,127,.1); }
.aie-counter { margin: 6px 3px 18px; text-align: right; color:#777894; font-size:13px; }
.aie-form-grid { display:grid; grid-template-columns: 1fr 1fr; gap:18px; }
.aie-button {
  display:inline-flex;
  justify-content:center;
  min-width: 220px;
  margin-top: 25px;
  padding: 15px 24px;
  border: 0;
  border-radius: 999px;
  color: white;
  background: var(--aie-blue);
  box-shadow: 0 10px 24px rgba(45,46,127,.23);
  font: inherit;
  font-weight: 800;
  cursor:pointer;
}
.aie-button:hover { background: var(--aie-blue-dark); transform: translateY(-1px); }
.aie-button:disabled { opacity:.65; cursor:wait; }
.aie-form-status { min-height: 26px; margin:16px 0 0; font-weight:700; }
.aie-form-status.is-success { color:#32734b; }
.aie-form-status.is-error { color:#a83241; }
.aie-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }

.aie-orbit { position:absolute; border:1px solid rgba(45,46,127,.13); border-radius:50%; pointer-events:none; }
.aie-orbit-one { width:420px; height:420px; left:-190px; bottom:-170px; }
.aie-orbit-two { width:290px; height:290px; right:-120px; top:-100px; }

.aie-wall {
  min-height: 88vh;
  padding: clamp(20px, 3vw, 46px);
  display:flex;
  flex-direction:column;
}
.aie-wall:fullscreen { min-height:100vh; padding:32px; }
.aie-wall-header { display:grid; grid-template-columns:minmax(0, 1fr) auto; gap:34px; align-items:center; margin-bottom:28px; }
.aie-wall-header h1 { font-size:clamp(28px, 3.7vw, 58px); max-width:1100px; }
.aie-qr-card {
  display:flex;
  align-items:center;
  gap:15px;
  min-width:315px;
  padding:12px 16px 12px 12px;
  border-radius:20px;
  color:var(--aie-blue-dark);
  background:#fff;
  box-shadow:0 14px 35px rgba(35,34,86,.13);
}
.aie-qr-card strong,.aie-qr-card span { display:block; }
.aie-qr-card strong { font-size:21px; }
.aie-qr-card span { margin-top:4px; color:#626381; }
.aie-qr canvas,.aie-qr img { display:block; width:128px!important; height:128px!important; }
.aie-qr a { color:var(--aie-blue); font-weight:800; }
.aie-inline-link { display:inline-block; margin-top:5px; color:var(--aie-blue); font-weight:850; text-decoration:underline; text-underline-offset:3px; }

.aie-wall-compose {
  margin:0 0 28px;
  border:1px solid rgba(45,46,127,.16);
  border-radius:20px;
  background:rgba(255,255,255,.94);
  box-shadow:0 12px 30px rgba(36,35,86,.08);
  scroll-margin-top:20px;
}
.aie-wall-compose summary {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:58px;
  padding:14px 22px;
  border-radius:19px;
  color:#fff;
  background:var(--aie-blue);
  font-size:17px;
  font-weight:850;
  cursor:pointer;
  list-style:none;
}
.aie-wall-compose summary::-webkit-details-marker { display:none; }
.aie-wall-compose summary::after { content:'+'; margin-left:12px; font-size:24px; line-height:1; }
.aie-wall-compose[open] summary { border-radius:19px 19px 0 0; }
.aie-wall-compose[open] summary::after { content:'−'; }
.aie-wall-form-panel { max-width:900px; margin:0 auto; padding:24px clamp(18px, 4vw, 38px) 30px; }
.aie-wall-form-panel .aie-lead { margin:0 0 22px; }

.aie-message-grid {
  flex:1;
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(285px, 1fr));
  align-content:start;
  gap:18px;
}
.aie-message {
  display:flex;
  flex-direction:column;
  min-height:190px;
  padding:22px;
  border-radius:20px;
  border:1px solid rgba(32,33,95,.1);
  box-shadow:0 12px 30px rgba(36,35,86,.09);
  animation:aie-rise .45s ease both;
}
.aie-message-blue { background:#e7e8ff; }
.aie-message-gold { background:#fff3cd; }
.aie-message-green { background:#e3eee6; }
.aie-message-sand { background:#f5eadb; }
.aie-message-meta { display:flex; justify-content:space-between; gap:12px; color:#5a5b78; font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.aie-message p { margin:18px 0; font-size:clamp(18px, 1.55vw, 26px); line-height:1.35; font-weight:750; overflow-wrap:anywhere; }
.aie-message footer { margin-top:auto; color:#5a5b78; font-weight:700; }
.aie-empty { grid-column:1/-1; align-self:center; max-width:760px; margin:8vh auto; text-align:center; font-size:clamp(22px, 3vw, 38px); line-height:1.4; color:#60617f; }
.aie-wall-footer { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:26px; color:#666783; font-size:14px; }
.aie-fullscreen { border:1px solid rgba(45,46,127,.2); border-radius:999px; padding:10px 16px; color:var(--aie-blue); background:#fff; font-weight:750; cursor:pointer; }

.aie-standalone-qr { display:inline-flex; align-items:center; gap:18px; padding:18px; border-radius:20px; color:var(--aie-blue-dark); background:#fff; box-shadow:0 12px 30px rgba(36,35,86,.12); }
.aie-standalone-qr p { margin:0; font-size:18px; line-height:1.45; }

@keyframes aie-rise { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }

@media (max-width: 800px) {
  .aie-form-grid,.aie-wall-header { grid-template-columns:1fr; }
  .aie-qr-card { min-width:0; width:100%; }
  .aie-qr-card .aie-qr { flex:0 0 128px; }
  .aie-wall { padding:20px 14px; }
  .aie-message-grid { grid-template-columns:1fr; }
  .aie-wall-footer { align-items:flex-start; flex-direction:column; }
}

@media (prefers-reduced-motion: reduce) {
  .aie-message { animation:none; }
  .aie-button { transition:none; }
}

