.ask-box,.answer-panel{
  max-width:820px;margin:0 auto;text-align:left;padding:20px;border:1px solid rgba(180,205,235,.18);
  border-radius:22px;background:linear-gradient(180deg,rgba(10,24,48,.84),rgba(6,15,31,.76));
  box-shadow:var(--shadow);backdrop-filter:blur(18px);
}
.ask-box label{display:block;color:var(--green);font-weight:950;font-size:13px;letter-spacing:.03em;margin-bottom:10px}
textarea{
  width:100%;min-height:138px;resize:vertical;border:1px solid rgba(139,233,255,.24);border-radius:17px;
  padding:17px 18px;color:var(--ink);background:rgba(2,6,23,.58);outline:none;font:650 16px/1.62 inherit;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
textarea::placeholder{color:#8092aa}
textarea:focus{border-color:rgba(139,233,255,.8);box-shadow:0 0 0 4px rgba(139,233,255,.1),inset 0 1px 0 rgba(255,255,255,.05)}
.ask-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;color:var(--muted);font-size:13px;line-height:1.45}
button[type=submit]{
  border:0;border-radius:14px;padding:13px 19px;color:#031525;
  background:linear-gradient(135deg,var(--cyan),var(--green));font-weight:950;cursor:pointer;white-space:nowrap;
  box-shadow:0 12px 30px rgba(139,233,255,.18);
}
button[type=submit]:hover{transform:translateY(-1px)}
.answer-panel{margin-top:18px;border-color:rgba(167,243,208,.26)}
.answer-panel strong{color:var(--green)}
.answer-panel p{color:#dbeafe;line-height:1.72}
@media(max-width:640px){.ask-box,.answer-panel{padding:16px;border-radius:18px}.ask-row{align-items:stretch;flex-direction:column}button[type=submit]{width:100%}}
.use-case{width:100%;margin-top:12px;border:1px solid rgba(139,233,255,.24);border-radius:14px;padding:12px 14px;color:var(--ink);background:#071225;font-weight:800}
.thinking,.evidence-level,.uncertainty,.login-nudge{padding:10px 12px;border-radius:12px;background:rgba(139,233,255,.08);margin-bottom:12px}
.error{color:#fecaca}
.refs{padding-left:22px;color:#dbeafe}
.refs li{margin-bottom:8px;line-height:1.55}
.login-nudge a{color:var(--green);font-weight:950;text-decoration:none}

.answer-panel{
  font-family: Georgia, "Times New Roman", serif;
}
.answer-panel strong,
.evidence-level,
.login-nudge,
.ask-box,
.use-case,
button{
  font-family: Inter,Aptos,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;
}
.answer-panel p{
  font-size:17px;
  line-height:1.82;
  color:#eef6ff;
}
.answer-panel h3{
  margin:18px 0 10px;
  font-family: Inter,Aptos,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;
  color:var(--gold);
  font-size:15px;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.refs{
  font-size:14px;
  line-height:1.65;
  color:#d7e6f7;
}
.refs li{
  padding:9px 0;
  border-bottom:1px solid rgba(180,205,235,.12);
}
.evidence-level strong{
  text-transform:capitalize;
}

.answer-text{font-size:16px;line-height:1.75;color:#dbeafe}
.uncertainty{border-left:3px solid #facc15;padding-left:12px;color:#fde68a}
.source-card{border:1px solid rgba(148,163,184,.35);border-radius:12px;padding:12px;margin:10px 0;background:rgba(15,23,42,.72)}
.source-card summary{cursor:pointer;display:flex;gap:10px;justify-content:space-between;align-items:flex-start}
.source-card summary span{font-weight:850;color:#f8fafc}
.source-card summary small{color:#93c5fd;text-align:right;max-width:34%}
.source-card p{color:#dbeafe;line-height:1.65}
.source-card small{color:#cbd5e1}
.source-links{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.source-links a,.next-actions a{border:1px solid rgba(147,197,253,.5);border-radius:999px;padding:7px 11px;color:#bfdbfe;text-decoration:none}
.quota-box{border:1px solid rgba(248,113,113,.45);background:rgba(127,29,29,.22);border-radius:14px;padding:14px}
.quota-note{margin-top:14px;color:#93c5fd;font-weight:700}

.ai-quota-top{
  border:1px solid rgba(139,233,255,.22);
  background:rgba(11,18,37,.72);
  color:#dbeafe;
  border-radius:12px;
  padding:10px 12px;
  margin-bottom:12px;
  font-size:13px;
  font-weight:800;
}
.ai-quota-top a{color:var(--cyan);font-weight:950}
.ask-box button:disabled{opacity:.62;cursor:wait}
.ai-progress-wrap{
  border:1px solid rgba(139,233,255,.22);
  border-radius:14px;
  background:rgba(7,18,37,.82);
  padding:14px;
  margin:6px 0 12px;
}
.ai-progress-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.ai-progress-head strong{color:#f8fbff}
.ai-progress-head span{color:var(--green);font-weight:950}
.ai-progress-bar{height:10px;border-radius:999px;background:rgba(148,163,184,.18);overflow:hidden}
.ai-progress-bar span{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,var(--cyan),var(--green));box-shadow:0 0 18px rgba(139,233,255,.45);transition:width .5s ease}
#aiWaitingMessage{color:#dbeafe;line-height:1.55;margin:12px 0 0}
.start-another{
  border:1px solid rgba(167,243,208,.42);
  background:rgba(167,243,208,.12);
  color:var(--green);
  border-radius:10px;
  padding:10px 13px;
  font-weight:950;
  cursor:pointer;
}

.subscriber-benefit{
  margin:14px 0;
  padding:14px;
  border:1px solid rgba(89,255,194,.28);
  background:rgba(7,18,37,.72);
  border-radius:10px;
}
.subscriber-benefit strong{display:block;color:#e9fff7;margin-bottom:6px}
.subscriber-benefit p{margin:0 0 10px;color:#b8c7d8}
.subscriber-benefit a{color:#59ffc2;font-weight:900}

.mode-hint{
  margin:-4px 0 12px;
  color:#a9bad0;
  font-size:13px;
  line-height:1.45;
}

#aiQuotaTop{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:12px 0 2px;
  padding:8px 11px;
  border:1px solid rgba(89,255,194,.24);
  border-radius:999px;
  background:rgba(5,14,30,.58);
  color:#d9fff4;
  font-size:13px;
  font-weight:800;
  box-shadow:0 0 22px rgba(89,255,194,.08);
}

#aiQuotaTop a{
  color:#59ffc2;
  font-weight:950;
}

.quota-note{
  margin-top:14px;
  padding:10px 12px;
  border:1px solid rgba(89,255,194,.2);
  border-radius:10px;
  background:rgba(7,18,37,.58);
  color:#d9fff4;
  font-size:13px;
  font-weight:800;
}

.answer-text{
  white-space:pre-wrap;
}

.source-card summary span{
  line-height:1.35;
}

.source-card p{
  color:#d7e3ef;
}

.next-actions{
  flex-wrap:wrap;
}

.next-actions a,
.next-actions button{
  min-height:38px;
}

@media(max-width:720px){
  #aiQuotaTop{
    display:flex;
    width:100%;
    border-radius:12px;
    justify-content:center;
    text-align:center;
  }

  .next-actions a,
  .next-actions button{
    width:100%;
    justify-content:center;
  }
}
