:root { --orange:#f47b20; --dark:#2d2118; --soft:#fff4ec; --line:#f1d7c5; }
* { box-sizing: border-box; }
body { margin:0; font-family: Arial, sans-serif; background:#fff8f2; color:var(--dark); font-size:20px; }
.page { max-width: 980px; margin: 0 auto; padding: 20px; }
.card { background:white; border:2px solid var(--line); border-radius:24px; padding:28px; margin:18px 0; box-shadow:0 10px 30px rgba(76,44,20,.08); }
.hero { text-align:center; background:linear-gradient(180deg,#fff,#fff1e6); }
.logo { color:var(--orange); font-size:42px; font-weight:800; letter-spacing:.5px; }
h1 { font-size:38px; margin:10px 0; }
h2 { font-size:26px; margin-top:0; }
.lead { font-size:24px; line-height:1.4; }
.notice { background:var(--soft); }
.form { display:flex; flex-direction:column; gap:18px; }
.field span, .upload-box strong { display:block; font-weight:700; margin-bottom:8px; }
input, textarea { width:100%; border:2px solid var(--line); border-radius:16px; font-size:22px; padding:16px; }
textarea { resize:vertical; }
.upload-box { display:block; border:3px dashed var(--orange); border-radius:22px; padding:26px; background:#fffaf6; cursor:pointer; }
.upload-box input { margin-top:14px; border:none; padding:0; }
.check { display:flex; gap:14px; align-items:flex-start; line-height:1.4; }
.check input { width:28px; height:28px; flex:0 0 auto; }
button, .primary, .secondary, .danger { border:0; border-radius:18px; padding:18px 24px; font-size:24px; font-weight:800; cursor:pointer; }
.primary { background:var(--orange); color:white; }
.secondary { background:#2d2118; color:white; }
.danger { background:#a51616; color:white; }
.loading { color:var(--orange); font-weight:800; }
.error { color:#a51616; font-weight:700; }
.hidden { display:none; }
.grid { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:18px; }
ul { padding-left:24px; line-height:1.5; }
.token { color:#6b5a4c; font-size:16px; }
.ask-row { display:flex; gap:12px; }
.ask-row input { flex:1; }
.answer { background:#fff4ec; border-radius:16px; padding:18px; min-height:60px; }
@media (max-width: 720px) { body { font-size:18px; } .grid { grid-template-columns:1fr; } .ask-row { flex-direction:column; } .logo { font-size:34px; } h1 { font-size:32px; } }

/* Simplified senior-first upload screen */
.compact-hero { padding:22px 24px; }
.compact-hero .lead { max-width:720px; margin:0 auto; }
.simple-form { gap:22px; }
.big-upload { text-align:center; padding:34px 26px; }
.big-upload strong { font-size:30px; color:var(--orange); }
.big-upload span { font-size:20px; line-height:1.4; }
.listen-button { width:100%; font-size:28px; padding:22px 28px; }
.compact-check { font-size:17px; }
@media (max-width:720px){ .big-upload strong{font-size:26px;} .listen-button{font-size:26px;} }


/* Voice-first companion result page */
.voice-hero { padding: 30px 24px; }
.voice-card { text-align:center; padding:42px 28px; }
.speaker-icon { font-size:76px; margin-bottom:18px; }
.giant-listen {
  width:100%;
  max-width:520px;
  min-height:92px;
  font-size:38px;
  border-radius:28px;
}
.voice-status { font-size:22px; color:#6b5a4c; margin-top:20px; }
.small-help { color:#6b5a4c; margin-top:-8px; }
.small-notice { font-size:17px; }
button:disabled { opacity:.65; cursor:wait; }
@media (max-width:720px){
  .speaker-icon { font-size:64px; }
  .giant-listen { font-size:34px; min-height:86px; }
  .voice-card { padding:34px 20px; }
}


/* Mobile-friendly progress indicator for screening page */
.progress-wrap {
  background:#fffaf6;
  border:2px solid var(--line);
  border-radius:20px;
  padding:18px;
}
.progress-label {
  display:flex;
  justify-content:space-between;
  gap:12px;
  font-weight:800;
  color:var(--dark);
  margin-bottom:10px;
}
.progress-bar {
  width:100%;
  height:22px;
  background:#f6ddca;
  border-radius:999px;
  overflow:hidden;
}
.progress-fill {
  width:0%;
  height:100%;
  background:var(--orange);
  border-radius:999px;
  transition:width .32s ease;
}
.progress-note {
  margin:10px 0 0;
  font-size:16px;
  color:#6b5a4c;
}
@media (max-width:720px){
  .progress-wrap { padding:16px; }
  .progress-bar { height:20px; }
  .progress-label { font-size:18px; }
}


/* Follow-up answer audio */
.answer-listen {
  width:100%;
  margin-top:14px;
  font-size:24px;
  padding:18px 22px;
}


/* Dual picker and top progress card */
.upload-choice h2 { text-align:center; margin-bottom:16px; }
.upload-action input { margin-top:16px; }
.selected-file {
  text-align:center;
  font-weight:700;
  color:#6b5a4c;
  background:#fff4ec;
  border-radius:16px;
  padding:14px;
  margin:0;
}
.progress-card {
  text-align:center;
  border-color:var(--orange);
}
.progress-card h2 {
  font-size:30px;
  margin-bottom:10px;
}
.progress-large-percent {
  font-size:54px;
  font-weight:900;
  color:var(--orange);
  margin:8px 0 14px;
}
@media (max-width:720px){
  .progress-card h2 { font-size:26px; }
  .progress-large-percent { font-size:48px; }
}

/* Icon-based landing page trust update */
.upload-with-icon {
  display:flex;
  align-items:center;
  gap:28px;
  text-align:left;
}
.icon-circle {
  width:92px;
  height:92px;
  border-radius:50%;
  background:#fff0e6;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}
.icon-circle img { width:52px; height:52px; display:block; }
.icon-circle.green { background:#eaf8ed; }
.upload-copy { display:block; flex:1; }
.upload-copy > span { display:block; }
.privacy-box {
  display:flex;
  gap:28px;
  align-items:center;
  border:2px solid #2f9b4a;
  border-radius:18px;
  background:#f4fff6;
  padding:24px 28px;
}
.privacy-copy h2 {
  color:#2f9b4a;
  margin:0 0 10px;
  font-size:26px;
}
.privacy-list {
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:10px;
  line-height:1.35;
}
.privacy-list li {
  display:flex;
  align-items:flex-start;
  gap:12px;
}
.privacy-list img {
  width:26px;
  height:26px;
  flex:0 0 auto;
  margin-top:1px;
}
.privacy-link {
  color:#0645ad;
  font-size:18px;
  margin-top:-12px;
  align-self:flex-start;
}
.listen-button {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:14px;
}
.listen-button img {
  width:36px;
  height:36px;
  filter:brightness(0) invert(1);
}
.safety-note {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  color:#6b5a4c;
  font-size:18px;
  margin:0;
  text-align:center;
}
.safety-note img { width:28px; height:28px; flex:0 0 auto; }
@media (max-width:720px){
  .upload-with-icon { gap:16px; padding:24px 18px; }
  .icon-circle { width:72px; height:72px; }
  .icon-circle img { width:42px; height:42px; }
  .privacy-box { align-items:flex-start; gap:16px; padding:20px 18px; }
  .privacy-copy h2 { font-size:23px; }
  .privacy-list { font-size:17px; }
  .privacy-list img { width:23px; height:23px; }
  .privacy-link { font-size:17px; }
  .safety-note { font-size:16px; align-items:flex-start; }
}
@media (max-width:480px){
  .upload-with-icon, .privacy-box { flex-direction:column; text-align:center; }
  .privacy-list li { text-align:left; }
}

/* Simple privacy page */
.privacy-page p { line-height:1.45; }
.back-link { display:inline-block; text-decoration:none; margin-top:12px; }
