.home-ask-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:56vh;text-align:center;padding:40px 20px}
.home-ask-inner{width:100%;max-width:640px;display:flex;flex-direction:column;align-items:center;gap:16px}
.home-ask-greeting{margin:0;font-family:Manrope;font-weight:800;font-size:34px;line-height:1.15;letter-spacing:-.03em;color:var(--ink)}
.home-ask-composer{width:100%;background:var(--white);border:1px solid var(--line);border-radius:26px;padding:8px;box-shadow:var(--shadow),0 0 45px 10px rgba(101,87,233,.28),0 0 100px 22px rgba(101,87,233,.13);transition:border-color .15s ease;animation:home-ask-glow 4.5s ease-in-out infinite}
.home-ask-composer:focus-within{border-color:var(--purple);outline:3px solid var(--purple-soft);outline-offset:3px}
@keyframes home-ask-glow{0%,100%{box-shadow:var(--shadow),0 0 45px 10px rgba(101,87,233,.26),0 0 100px 22px rgba(101,87,233,.12)}50%{box-shadow:var(--shadow),0 0 60px 16px rgba(101,87,233,.4),0 0 120px 30px rgba(101,87,233,.2)}}
@media (prefers-reduced-motion:reduce){.home-ask-composer{animation:none}}
.home-ask-bar{display:flex;align-items:flex-end;width:100%;gap:10px}
#homeAskInput{flex:1;min-width:40px;border:none;outline:none;background:transparent;font-size:16px;color:var(--ink);padding:8px 0;font-family:inherit;resize:none;overflow-y:auto;max-height:160px;line-height:1.4}
#homeAskInput::placeholder{color:var(--muted)}
#homeAskInput:disabled{opacity:.5}
.home-ask-attach,.home-ask-mic,.home-ask-submit{border:none;cursor:pointer;width:38px;height:38px;flex:0 0 auto;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px}
.home-ask-attach,.home-ask-mic{background:transparent;color:var(--muted);border:1.5px solid var(--line);font-size:15px}
.home-ask-attach{position:relative}
.home-ask-attach:hover,.home-ask-mic:hover{background:var(--soft);border-color:var(--purple-soft)}
.home-ask-attach.has-files{color:var(--purple);border-color:var(--purple)}
.home-ask-attach-count{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 3px;border-radius:999px;background:var(--purple);color:var(--white);font-size:9px;font-weight:800;display:flex;align-items:center;justify-content:center;line-height:1}
.home-ask-attach-count.hidden{display:none}
.home-ask-mic.is-listening{color:#c23a3a;background:#fdeaea;border-color:#f0b8b8}
.home-ask-submit{background:var(--purple);color:var(--white)}
.home-ask-submit:hover{background:var(--purple-deep)}
.home-ask-attach:disabled,.home-ask-mic:disabled,.home-ask-submit:disabled{opacity:.4;cursor:not-allowed}
.home-ask-previews{display:flex;flex-wrap:wrap;gap:8px;width:100%;padding:2px 6px 10px}
.home-ask-previews.hidden{display:none}
.home-ask-preview-chip{position:relative;display:flex;align-items:center;gap:8px;max-width:100%;background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:6px 30px 6px 6px}
.home-ask-preview-thumb{width:40px;height:40px;flex:0 0 auto;border-radius:9px;overflow:hidden;background:var(--white);display:flex;align-items:center;justify-content:center;color:var(--muted)}
.home-ask-preview-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.home-ask-preview-thumb.home-ask-preview-file{border:1px solid var(--line)}
.home-ask-preview-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:12px;color:var(--ink)}
.home-ask-preview-remove{position:absolute;top:4px;right:4px;border:none;background:rgba(33,29,46,.55);color:#fff;cursor:pointer;width:18px;height:18px;flex:0 0 auto;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;line-height:1}
.home-ask-preview-remove:hover{background:rgba(33,29,46,.8)}
.home-ask-hint{margin:0;font-size:13px;color:var(--muted)}
.home-ask-modal-attachments{margin:14px 0 0;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--soft);text-align:left}
.home-ask-modal-attachments.hidden{display:none}
.home-ask-modal-attachments-label{display:block;margin-bottom:8px;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.home-ask-modal-attachments-list{display:flex;flex-wrap:wrap;gap:8px}
.home-ask-modal-attachment-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:6px 8px;border:1px solid var(--line);border-radius:999px;background:var(--white)}
.home-ask-modal-attachment-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:11px;color:var(--ink)}
.home-ask-modal-attachment-remove{border:none;background:transparent;color:var(--muted);cursor:pointer;font-size:15px;line-height:1;padding:0;flex:0 0 auto}
.home-ask-modal-attachment-remove:hover{color:var(--ink)}
.home-ask-ready-phases{width:100%;display:flex;flex-direction:column;gap:10px;margin-top:6px}
.home-ask-ready-phase{display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;background:var(--white);border:1px solid var(--purple-soft);border-radius:16px;padding:14px 16px}
.home-ask-ready-phase .detail-label{color:var(--purple-deep);font-size:10px;font-weight:800;letter-spacing:.04em}
.home-ask-ready-phase strong{display:block;margin-top:3px;color:var(--ink);font-size:14px}
.home-ask-ready-phase p{margin:3px 0 0;color:var(--muted);font-size:12px;line-height:1.4}
.home-ask-ready-phase button{flex:0 0 auto}
@media (max-width:640px){.home-ask-ready-phase{flex-direction:column;align-items:flex-start}.home-ask-ready-phase button{width:100%}}
.home-ask-dashboard-link{margin-top:4px}
@media (max-width:640px){
  /* The composer -- the one thing this screen exists for -- must be visible
     without scrolling. A long wrapped greeting at full desktop size was
     pushing it below the fold on real phones. */
  .home-ask-screen{min-height:0;padding:20px 16px}
  .home-ask-greeting{font-size:22px}
  .home-ask-inner{gap:12px}
  .home-ask-hint{font-size:11px}
  .home-ask-attach,.home-ask-mic,.home-ask-submit{width:34px;height:34px}
}

.home-ask-confirm-modal{width:min(100%,420px);text-align:center}
.home-ask-confirm-modal h2{margin:10px 0 8px}
.home-ask-confirm-modal .modal-intro{margin-bottom:20px}
.home-ask-confirm-modal .modal-actions{justify-content:center}

/* The follow-up step intentionally shows one decision at a time. It is a
   short bridge from the very simple home composer to a fair token estimate,
   not a second long form. */
.home-ask-clarifying{min-height:380px;display:flex;flex-direction:column;justify-content:center;padding:14px 0 4px;text-align:center}
.home-ask-clarifying.hidden{display:none}
.home-ask-clarifying-step{color:var(--purple);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.home-ask-clarifying h3{max-width:440px;margin:15px auto 8px;font-family:Manrope;font-size:25px;line-height:1.18;letter-spacing:-.045em;color:var(--ink)}
.home-ask-clarifying p{max-width:380px;margin:0 auto 22px;color:var(--muted);font-size:12px;line-height:1.5}
.home-ask-choice-list{display:flex;flex-direction:column;gap:10px;width:min(100%,450px);margin:0 auto}
.home-ask-choice{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-height:54px;padding:13px 16px;border:1px solid var(--purple-soft);border-radius:14px;background:var(--white);color:var(--ink);font-weight:700;text-align:left;box-shadow:0 5px 15px rgba(73,62,163,.05);transition:transform .14s ease,border-color .14s ease,background .14s ease}
.home-ask-choice:hover,.home-ask-choice:focus-visible{border-color:var(--purple);background:#faf9ff;transform:translateY(-1px)}
.home-ask-choice span{flex:0 0 auto;color:var(--purple);font-size:18px}
.home-ask-question-actions{display:flex;align-items:center;justify-content:space-between;width:min(100%,450px);margin:22px auto 0}
.home-ask-other-field{display:block;width:min(100%,450px);margin:0 auto;text-align:left;color:var(--ink);font-size:12px;font-weight:800}.home-ask-other-field textarea{display:block;box-sizing:border-box;width:100%;min-height:96px;margin-top:8px;padding:13px 14px;border:1px solid var(--purple-soft);border-radius:14px;background:var(--white);font:inherit;font-weight:500;line-height:1.45;resize:vertical}.home-ask-other-field textarea:focus{outline:2px solid color-mix(in srgb,var(--purple) 34%,transparent);border-color:var(--purple)}.home-ask-other-error{color:#b32445!important;font-weight:700}.home-ask-other-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;width:min(100%,450px);margin:15px auto 0}.home-ask-other-actions .button{min-width:170px}
.delyv-dictation-wrap{position:relative;display:block}
.delyv-dictation-wrap textarea,.delyv-dictation-wrap input{box-sizing:border-box;padding-right:38px}
.delyv-dictation-button{position:absolute;right:6px;display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;padding:0;border:1.5px solid var(--line);border-radius:50%;background:transparent;color:var(--muted);font-size:13px;line-height:1;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}
.delyv-dictation-wrap.is-textarea .delyv-dictation-button{bottom:8px}
.delyv-dictation-wrap.is-input .delyv-dictation-button{top:50%;transform:translateY(-50%)}
.delyv-dictation-button:hover,.delyv-dictation-button:focus-visible{background:var(--soft);border-color:var(--purple-soft)}
.delyv-dictation-button.is-listening{color:#c23a3a;background:#fdeaea;border-color:#f0b8b8;animation:delyv-listening-pulse 1.1s ease-in-out infinite}
.delyv-dictation-status{position:absolute;left:2px;right:34px;bottom:-16px;color:var(--muted);font-size:10px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
@keyframes delyv-listening-pulse{50%{box-shadow:0 0 0 5px rgba(194,58,58,.14)}}
@media(max-width:640px){.home-ask-clarifying{min-height:calc(100vh - 150px);padding:12px 0}.home-ask-clarifying h3{font-size:23px}.home-ask-choice{min-height:58px;font-size:14px}.home-ask-question-actions{margin-top:18px}}

/* iPhone client home: this is the first thing a client sees, so the request
   composer stays in the first viewport rather than being displaced by the
   chrome, safe-area inset, or longer workspace greeting. Font sizes at the
   input remain 16px to prevent Safari's automatic focus zoom. */
@media (max-width:720px) {
  html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
  body.is-member { overflow-x:clip; }
  body.is-member .main-content,
  body.is-member .content-wrap,
  body.is-member .home-ask-screen,
  body.is-member .home-ask-inner { min-width:0; max-width:100%; }
  body.is-member .content-wrap:has(.home-ask-screen) {
    padding-top:12px;
    padding-right:14px;
    padding-left:14px;
  }
  body.is-member .home-ask-screen {
    align-items:stretch;
    justify-content:flex-start;
    min-height:calc(100svh - 128px - env(safe-area-inset-bottom));
    padding:12px 0 calc(20px + env(safe-area-inset-bottom));
    text-align:left;
  }
  body.is-member .home-ask-inner { align-items:stretch; gap:10px; }
  body.is-member .home-ask-screen .eyebrow { display:none; }
  body.is-member .home-ask-greeting {
    margin:0;
    font-size:clamp(21px,6vw,25px);
    line-height:1.15;
  }
  body.is-member .home-ask-composer {
    border-radius:20px;
    padding:9px;
    box-shadow:0 12px 30px rgba(37,31,92,.10),0 0 26px rgba(101,87,233,.18);
  }
  body.is-member #homeAskInput {
    min-height:42px;
    max-height:132px;
    padding:10px 2px;
    font-size:16px;
    line-height:1.35;
    -webkit-appearance:none;
  }
  body.is-member .home-ask-attach,
  body.is-member .home-ask-mic,
  body.is-member .home-ask-submit { width:40px; height:40px; }
  body.is-member .home-ask-hint { padding:0 2px; font-size:11px; line-height:1.35; }
  /* The bottom-tab Home control already reaches the full dashboard. Keeping
     this secondary link off the first mobile screen preserves the one-job
     focus: describe the work, attach anything needed, and send. */
  body.is-member .home-ask-dashboard-link { display:none; }
  body.is-member .home-ask-ready-phases { margin-top:4px; }
  body.is-member .home-ask-ready-phase { padding:12px 13px; }
}
