:root{--navy:#0b1538;--blue:#1769ff;--cyan:#24b6f2;--violet:#5527e8;--ink:#111a38;--muted:#65708a;--line:#e6ebf4;--soft:#f6f9ff;--danger:#e0475a}
*{box-sizing:border-box}
body{margin:0;font-family:'Inter',ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}
button,select,textarea,input{font:inherit}
button{cursor:pointer}
a{color:inherit}

/* header */
header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid #eef2f8;position:sticky;top:0;background:#fffc;backdrop-filter:blur(14px);z-index:20}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--navy);font-size:22px;font-weight:800}
.brand .mark{width:36px;height:36px;flex:none}
nav{display:flex;gap:30px;margin-left:40px}
nav a{text-decoration:none;color:#28314d;font-size:14px;font-weight:500}
@media (hover:hover) and (pointer:fine){nav a:hover{color:var(--blue)}}
.actions{display:flex;gap:12px;position:relative}
.dark,.light,.ghost{border:0;border-radius:0;padding:12px 20px;font-weight:600}
.dark{background:var(--navy);color:#fff}
@media (hover:hover) and (pointer:fine){.dark:hover{background:#162554}}
.light{background:#fff;border:1px solid var(--line);color:var(--navy)}
@media (hover:hover) and (pointer:fine){.light:hover{border-color:var(--blue);color:var(--blue)}}
.ghost{background:transparent;color:var(--navy)}
@media (hover:hover) and (pointer:fine){.ghost:hover{color:var(--blue)}}
.big{padding:15px 24px}
.toast{position:fixed;top:88px;right:5vw;background:var(--navy);color:#fff;padding:12px 18px;border-radius:12px;font-size:13px;box-shadow:0 12px 30px #0b153833;z-index:50;transition:opacity .25s,transform .25s}
.toast[hidden]{opacity:0;transform:translateY(-6px);pointer-events:none;display:block}

/* hero */
.hero{position:relative;min-height:650px;padding:70px 5vw 58px;display:grid;grid-template-columns:.9fr 1.25fr;gap:6vw;align-items:center;background:radial-gradient(circle at 85% 25%,#e8f4ff 0,transparent 28%),linear-gradient(120deg,#fff,#f8fbff)}
.eyebrow{letter-spacing:.35em;font-size:11px;font-weight:800;color:#53617f;margin:0}
.hero h1{font-size:clamp(40px,5.3vw,78px);line-height:.98;margin:18px 0 24px;letter-spacing:-.045em}
.hero h1 span{color:var(--blue)}
.lead{font-size:18px;line-height:1.55;color:#3d4865;max-width:600px;margin:0}
.cta{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}
.trust{display:flex;align-items:center;gap:14px;margin-top:30px}
.avatars{display:flex}
.avatars span{width:32px;height:32px;border-radius:50%;border:2px solid #fff;margin-left:-10px;background:linear-gradient(135deg,var(--cyan),var(--violet))}
.avatars span:first-child{margin-left:0}
.trust p{margin:0;font-size:13px;color:#7c879d;max-width:220px}

/* workspace */
.workspace{background:#fff;border:1px solid #e6ecf6;border-radius:24px;padding:24px;box-shadow:0 25px 80px #1d5aa514;position:relative;z-index:1}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:20px;overflow-x:auto}
.tabs button{border:0;background:transparent;padding:10px 12px;color:#5e6983;white-space:nowrap;font-size:14px;border-radius:0}
.tabs button.active{color:var(--blue);border-bottom:2px solid var(--blue);font-weight:700;margin-bottom:-1px}
@media (hover:hover) and (pointer:fine){.tabs button:hover:not(.active){color:var(--navy)}}

.ta-wrap{position:relative}
.ta-wrap textarea{width:100%;min-height:130px;border:1px solid #dfe6f1;border-radius:14px;padding:16px 18px 26px;resize:vertical;font-size:16px;outline:none;font-family:inherit}
.ta-wrap textarea:focus{border-color:#7ba7ff;box-shadow:0 0 0 4px #1769ff10}
.ta-count{position:absolute;bottom:10px;right:14px;font-size:11px;color:#a3adc2;pointer-events:none}

.compare-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:560px){.compare-row{grid-template-columns:1fr}}
.compare-row textarea{width:100%;min-height:110px;border:1px solid #dfe6f1;border-radius:14px;padding:14px;resize:vertical;font-size:15px;outline:none;font-family:inherit}
.compare-row textarea:focus{border-color:#7ba7ff;box-shadow:0 0 0 4px #1769ff10}

.selectors{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}
@media(max-width:560px){.selectors{grid-template-columns:1fr}}
.sel{display:block;border:1px solid #dfe6f1;border-radius:12px;padding:9px 12px;background:#fff}
.sel span{display:block;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#93a0bd;font-weight:700;margin-bottom:2px}
.sel select,.sel input{border:0;padding:0;width:100%;background:transparent;color:#25304d;font-size:14px;font-weight:600;outline:none}

.slider-grid{display:flex;flex-direction:column;gap:14px;margin:16px 0}
.slider-row .poles{display:flex;justify-content:space-between;font-size:12px;color:#7a859c;margin-bottom:5px}
.slider-row input[type=range]{width:100%;accent-color:var(--blue)}

.phrase{width:100%;border:0;border-radius:0;padding:15px;background:linear-gradient(90deg,var(--blue),var(--cyan));color:#fff;font-weight:800;font-size:16px;margin-top:4px}
@media (hover:hover) and (pointer:fine){.phrase:hover{filter:brightness(1.06)}}
.phrase:disabled{opacity:.6;cursor:default;filter:none}
.ws-status{font-size:13px;color:#7a859c;margin-top:10px;min-height:16px}
.ws-status.error{color:var(--danger)}
/* loading indicator: brand mark as a typing bubble */
.ws-status.loading{display:flex;align-items:center;gap:12px;color:var(--navy);font-weight:600}
.loader-mark{position:relative;width:34px;height:34px;flex:none;display:grid;place-items:center}
.loader-mark svg{width:24px;height:24px;animation:loader-bob 1.8s ease-in-out infinite}
.loader-ring{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 30%,var(--cyan) 60%,var(--violet) 100%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2.5px));mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2.5px));animation:loader-spin .9s linear infinite}
.loader-mark .dot,.is-working .brand .mark circle{transform-box:fill-box;transform-origin:center;animation:loader-dot 1.1s ease-in-out infinite}
.loader-mark .dot:nth-of-type(2),.is-working .brand .mark circle:nth-of-type(2){animation-delay:.15s}
.loader-mark .dot:nth-of-type(3),.is-working .brand .mark circle:nth-of-type(3){animation-delay:.3s}
.loader-text{background:linear-gradient(90deg,var(--navy) 0%,var(--violet) 45%,var(--cyan) 55%,var(--navy) 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:loader-shimmer 2.4s linear infinite;transition:opacity .22s,transform .22s}
.loader-text.swap{opacity:0;transform:translateY(4px)}
.is-working .brand .mark{animation:loader-bob 1.8s ease-in-out infinite}
@keyframes loader-spin{to{transform:rotate(360deg)}}
@keyframes loader-dot{0%,60%,100%{transform:translateY(0);opacity:.55}30%{transform:translateY(-5px);opacity:1}}
@keyframes loader-bob{0%,100%{transform:rotate(-4deg) scale(1)}50%{transform:rotate(4deg) scale(1.06)}}
@keyframes loader-shimmer{from{background-position:100% 0}to{background-position:-150% 0}}
@media (prefers-reduced-motion:reduce){.loader-ring,.loader-mark svg,.loader-mark .dot,.loader-text,.is-working .brand .mark,.is-working .brand .mark circle{animation:none}.loader-text{color:var(--navy);background:none}}

.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.chips button{border:1px solid var(--line);background:#fbfcff;border-radius:0;padding:9px 12px;color:#4d5873;font-size:12px}
@media (hover:hover) and (pointer:fine){.chips button:hover{border-color:var(--blue);color:var(--blue)}}
.chips button.selected{background:var(--blue);color:#fff;border-color:var(--blue)}

.char-field{margin-bottom:14px}
.char-field label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#93a0bd;margin-bottom:6px}
.char-field textarea{width:100%;border:1px solid #dfe6f1;border-radius:12px;padding:12px;font-family:inherit;font-size:14px;resize:vertical}
.char-field input{width:100%;border:1px solid #dfe6f1;border-radius:12px;padding:11px 12px;font-family:inherit;font-size:14px;outline:none}
.char-field input:focus,.char-field textarea:focus{border-color:#7ba7ff;box-shadow:0 0 0 4px #1769ff10;outline:none}
.char-chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.char-chip-row .chipx{border:1px solid var(--line);background:#fbfcff;border-radius:0;padding:6px 12px;font-size:12px;color:#4d5873;cursor:pointer}
@media (hover:hover) and (pointer:fine){.char-chip-row .chipx:hover{border-color:var(--blue);color:var(--blue)}}
.save-char{margin-top:8px}

.saved-list{max-height:360px;overflow:auto;display:flex;flex-direction:column;gap:10px}
.saved-empty{color:#9099b0;font-size:14px;font-style:italic;padding:20px 0}
.saved-group b{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#93a0bd;margin:10px 0 6px}
.saved-item{display:flex;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fbfcff}
.saved-item p{margin:0;font-size:14px;color:#1f2a4a}
.saved-item small{color:#8a93ab}
.saved-item button{border:0;background:transparent;color:#a9b1c4;font-size:12px}
@media (hover:hover) and (pointer:fine){.saved-item button:hover{color:var(--danger)}}

/* side note */
.side-note{display:none}
@media(min-width:1400px){
  .hero{grid-template-columns:.85fr 1.15fr .55fr}
  .side-note{display:flex;flex-direction:column;gap:26px;padding-top:10px}
  .side-note .scribble{font-family:Georgia,serif;font-style:italic;font-size:19px;color:#33406b;line-height:1.35;margin:0}
  .side-note blockquote{margin:0;border-left:3px solid var(--blue);padding-left:14px;font-size:14px;color:#4b567a;line-height:1.5}
  .side-note blockquote span{display:block;margin-top:6px;font-size:11px;letter-spacing:.1em;color:#9aa4bf;font-style:normal;font-weight:700}
}

/* feature strip */
.feature-strip{display:grid;grid-template-columns:repeat(7,1fr);padding:34px 5vw;border-block:1px solid var(--line);gap:16px}
.feature-strip div{display:flex;flex-direction:column;gap:7px;padding-right:16px;border-right:1px solid var(--line)}
.feature-strip div:last-child{border:0}
.feature-strip .ficon{color:var(--blue);font-size:18px}
.feature-strip b{font-size:13px}
.feature-strip span{font-size:11.5px;line-height:1.4;color:#7a859c}
@media(max-width:1100px){.feature-strip{grid-template-columns:repeat(3,1fr)}.feature-strip div{border-right:0;padding-right:0}}
@media(max-width:560px){.feature-strip{grid-template-columns:1fr}}

/* examples / mode gallery */
.examples{display:grid;grid-template-columns:250px 1fr;gap:30px;padding:55px 5vw 70px;background:#fbfdff}
@media(max-width:900px){.examples{grid-template-columns:1fr}}
.examples aside{display:flex;flex-direction:column;gap:6px;position:sticky;top:96px;align-self:start}
@media(max-width:900px){.examples aside{position:static;flex-direction:row;overflow-x:auto}}
.examples aside button{border:0;background:transparent;text-align:left;padding:11px 14px;border-radius:0;color:#53607c;font-size:14px;white-space:nowrap}
@media (hover:hover) and (pointer:fine){.examples aside button:hover{background:#eef3ff}}
.examples aside button.selected{background:#eaf2ff;color:var(--blue);font-weight:700}
.results-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:10px}
.results-head h2{font-size:26px;margin:0}
.results-head p{color:#768198;margin:4px 0 0}
.try-form{margin:22px 0}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}
@media(max-width:900px){.cards{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.cards{grid-template-columns:1fr}}
.card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:18px;min-height:130px;box-shadow:0 8px 30px #172d5d08;display:flex;flex-direction:column;gap:8px}
.card b{color:var(--blue);font-size:12.5px;text-transform:uppercase;letter-spacing:.04em}
.card p{font-size:15.5px;color:#17213e;line-height:1.45;margin:0;flex:1}
.card small{color:#7a859b;font-size:12.5px}
.card .card-save{align-self:flex-start;border:1px solid var(--line);background:#fbfcff;border-radius:0;padding:5px 11px;font-size:11.5px;color:#4d5873;margin-top:4px}
@media (hover:hover) and (pointer:fine){.card .card-save:hover{border-color:var(--blue);color:var(--blue)}}
.card.primary{border-left:3px solid var(--blue);grid-column:1/-1}
.cards-empty{grid-column:1/-1;color:#9099b0;font-style:italic;font-size:14px}

/* document tools */
.documents{padding:70px 5vw;background:#fff;border-top:1px solid var(--line)}
.documents-head{text-align:center;max-width:640px;margin:0 auto 40px}
.documents-head h2{font-size:32px;margin:12px 0 10px}
.documents-head p{color:#7a859c;font-size:14.5px}
.doc-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:1000px;margin:0 auto}
@media(max-width:900px){.doc-grid{grid-template-columns:1fr}}
.doc-card{position:relative;border:1px solid var(--line);border-radius:20px;padding:28px 26px;background:#fbfdff;box-shadow:0 8px 30px #172d5d08}
.doc-badge{position:absolute;top:-12px;left:26px;background:var(--navy);color:#fff;font-size:11px;font-weight:700;padding:5px 14px;border-radius:999px}
.doc-badge.creator{background:linear-gradient(90deg,var(--blue),var(--violet))}
.doc-card h3{margin:10px 0 8px;font-size:19px}
.doc-blurb{color:#7a859c;font-size:13.5px;margin:0 0 18px;line-height:1.5}
.doc-card input[type=file]{display:block;width:100%;font-size:13px;color:#4d5873;border:1px dashed #c7d1e6;border-radius:12px;padding:12px;background:#fff;margin-bottom:14px}
.doc-tone-sel{display:inline-block;margin-bottom:14px;width:100%}
.doc-card .phrase{width:100%}
.doc-preview{white-space:pre-wrap;line-height:1.7;font-size:14px;color:#1f2a4a;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;max-height:340px;overflow-y:auto;margin-top:16px}
.flag-mark{background:#fff2c9;border-bottom:2px solid #eab308;cursor:pointer;border-radius:2px}
.flag-mark.accepted{background:#d7f5e3;border-bottom-color:#22c55e;text-decoration:line-through;text-decoration-color:#88a89a}
.flag-list{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.flag-card{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#fff}
.flag-card b{color:var(--blue);font-size:11.5px;text-transform:uppercase;letter-spacing:.04em}
.flag-card .flag-note{font-size:12.5px;color:#7a859c;margin:4px 0 8px}
.flag-card .flag-suggestion{font-size:13.5px;color:#1f2a4a;margin:0 0 10px}
.flag-card .flag-actions{display:flex;gap:8px}
.flag-card .flag-actions button{border:1px solid var(--line);background:#fbfcff;border-radius:0;padding:5px 13px;font-size:12px;color:#4d5873}
.flag-card .flag-actions button.accept.active{background:#22c55e;border-color:#22c55e;color:#fff}
.doc-result-actions{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}

/* pricing band */
/* pricing */
.pricing{padding:70px 5vw;background:#fbfdff;border-top:1px solid var(--line)}
.pricing-head{text-align:center;max-width:640px;margin:0 auto 40px}
.pricing-head h2{font-size:34px;margin:12px 0 22px}
.billing-toggle{display:inline-flex;background:var(--pill-bg,#eef3ff);border-radius:0;padding:4px;gap:2px}
.billing-toggle button{border:0;background:transparent;padding:9px 18px;border-radius:0;font-size:13px;font-weight:600;color:#5e6983}
.billing-toggle button.active{background:#fff;color:var(--navy);box-shadow:0 4px 14px #17224a1a}
.billing-toggle span{font-size:10.5px;color:var(--blue);margin-left:4px}
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1080px;margin:0 auto}
@media(max-width:900px){.pricing-grid{grid-template-columns:1fr}}
.price-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px 26px;display:flex;flex-direction:column;gap:6px;box-shadow:0 8px 30px #172d5d08}
.price-card.featured{border-color:var(--blue);box-shadow:0 20px 50px #1769ff22;transform:translateY(-6px)}
.price-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--blue);color:#fff;font-size:11px;font-weight:700;padding:5px 14px;border-radius:999px;white-space:nowrap}
.price-card h3{margin:6px 0 0;font-size:19px}
.price-amount{font-size:36px;font-weight:800;margin:6px 0 0;color:var(--navy)}
.price-amount .per{font-size:14px;font-weight:600;color:#8891a8;margin-left:4px}
.price-note{color:#7a859c;font-size:13px;margin:0 0 14px}
.price-card ul{list-style:none;padding:0;margin:0 0 20px;display:flex;flex-direction:column;gap:10px;flex:1}
.price-card li{font-size:13.5px;color:#374066;padding-left:20px;position:relative;line-height:1.4}
.price-card li::before{content:"✓";position:absolute;left:0;color:var(--blue);font-weight:700}
.price-card button{width:100%}

/* account menu */
.account-menu{position:relative}
.account-btn{background:var(--pill-bg,#eef3ff);border:1px solid var(--line);border-radius:0;padding:9px 16px;font-size:13px;font-weight:600;color:var(--navy);display:flex;align-items:center;gap:6px}
.account-btn .tier-pill{background:var(--blue);color:#fff;font-size:10px;font-weight:700;padding:2px 8px;border-radius:999px;text-transform:uppercase}
.account-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 40px #17224a22;min-width:200px;padding:8px;display:flex;flex-direction:column;gap:2px;z-index:30}
.account-dropdown[hidden]{display:none}
.account-dropdown button{background:transparent;border:0;text-align:left;padding:10px 12px;border-radius:0;font-size:13.5px;color:#28314d}
@media (hover:hover) and (pointer:fine){.account-dropdown button:hover{background:var(--pill-bg,#eef3ff)}}

/* auth modal */
.modal-backdrop{position:fixed;inset:0;background:#0b153899;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}
.modal-backdrop[hidden]{display:none}
.modal{background:#fff;border-radius:20px;padding:32px;width:100%;max-width:380px;position:relative;box-shadow:0 30px 80px #0b153844}
.video-modal{max-width:800px;padding:16px;background:#000}
.video-modal video{width:100%;max-height:80vh;border-radius:10px;display:block}
.video-modal .modal-close{color:#fff;background:#0009;border-radius:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;top:-14px;right:-14px}
.modal-close{position:absolute;top:14px;right:16px;background:transparent;border:0;font-size:22px;color:#9aa4bf;line-height:1}
.modal h3{margin:0 0 20px;font-size:20px}
.field-stack{display:flex;flex-direction:column;gap:14px;margin-bottom:18px}
.field-stack label{display:block;font-size:12px;font-weight:700;color:#7a859c;text-transform:uppercase;letter-spacing:.04em}
.field-stack label[hidden]{display:none}
.field-stack input{width:100%;margin-top:6px;border:1px solid var(--line);border-radius:10px;padding:11px 13px;font-size:14px}
.field-stack input:focus{outline:none;border-color:#7ba7ff;box-shadow:0 0 0 4px #1769ff10}
.modal .phrase{width:100%}
.modal-switch{text-align:center;font-size:13px;color:#7a859c;margin:16px 0 0}
.modal-switch button{background:transparent;border:0;color:var(--blue);font-weight:700;margin-left:4px}

/* audience CTA */
.audience{padding:65px 5vw;background:linear-gradient(120deg,#071126,#162d54);color:#fff;display:grid;grid-template-columns:.7fr 1.7fr;gap:50px}
@media(max-width:900px){.audience{grid-template-columns:1fr}}
.audience .eyebrow{color:#aebbd2}
.audience h2{font-size:44px;line-height:1.05;margin:15px 0}
.aud-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
@media(max-width:900px){.aud-grid{grid-template-columns:1fr 1fr}}
.aud-grid article{min-height:160px;border:1px solid #ffffff2e;border-radius:16px;background:#ffffff0d;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:16px;gap:10px}
.aud-grid .aicon{font-size:22px}
.aud-grid b{font-size:14px}
.aud-grid span{font-size:11.5px;color:#c9d1e0;line-height:1.4}

footer{padding:34px 5vw;display:flex;gap:18px;align-items:center;color:#69758d;flex-wrap:wrap}
footer b{font-size:20px;color:var(--navy)}
footer small{margin-left:auto}

@media(max-width:900px){
  nav{display:none}
  .hero{grid-template-columns:minmax(0,1fr);padding-top:45px}
  .examples{grid-template-columns:minmax(0,1fr)}
  .hero>*,.examples>*{min-width:0}
}
@media(max-width:560px){
  header{padding:0 18px}
  .hero,.feature-strip,.examples,.audience{padding-left:20px;padding-right:20px}
  .actions .ghost{display:none}
}

/* reply mode */
.selectors .wide{grid-column:1/-1}
.shot-picker{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0 2px}
.shot-btn{display:inline-flex;align-items:center;cursor:pointer;padding:8px 14px;font-size:13px}
.shot-thumb{width:44px;height:44px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}
.shot-name{font-size:13px;color:#4d5873}
.shot-clear{border:0;background:none;color:var(--danger);font-size:12.5px;padding:0}
.card .card-actions{display:flex;gap:6px;flex-wrap:wrap}
.card .card-actions .card-save{margin-top:4px}

/* ---------- live generation (2026-11-03) ---------- */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
kbd{font:600 10.5px/1 'Inter',system-ui,sans-serif;border:1px solid #d9e1ef;border-bottom-width:2px;border-radius:6px;padding:3px 5px;color:#5b6784;background:#fff}
button.link{background:none;border:0;padding:0;color:var(--blue);font-weight:700;text-decoration:underline;text-underline-offset:2px}
.ghost.danger{color:var(--danger)}

/* the phrase button doubles as Stop while working */
.phrase.is-stop{background:var(--navy)}
@media (hover:hover) and (pointer:fine){.phrase.is-stop:hover{background:#162554;filter:none}}

/* run status: working / completed / stopped / failed */
.run-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:18px;padding:10px 12px 10px 16px;border:1px solid var(--line);border-radius:14px;background:var(--soft);font-size:13.5px;color:#3d4865}
.run-bar[hidden]{display:none}
.run-stage{font-weight:700;color:var(--navy)}
.run-time{color:#7a859c;font-variant-numeric:tabular-nums}
.run-btn{margin-left:auto;border:1px solid var(--line);background:#fff;border-radius:0;padding:6px 12px;font-size:12.5px;font-weight:600;color:var(--navy);display:inline-flex;gap:8px;align-items:center}
@media (hover:hover) and (pointer:fine){.run-btn:hover{border-color:var(--blue);color:var(--blue)}}
.run-btn.primary{background:var(--navy);border-color:var(--navy);color:#fff}
.run-dot{width:9px;height:9px;border-radius:50%;background:linear-gradient(135deg,var(--cyan),var(--violet));animation:run-pulse 1.1s ease-in-out infinite;flex:none;display:inline-block}
.run-check{color:#0f9d6b;font-weight:800}
.run-warn{color:var(--danger);font-weight:800}
.run-bar.completed{background:#f4fbf8;border-color:#d4efe3}
.run-bar.stopped{background:#fff;border-style:dashed}
.run-bar.failed{background:#fff6f7;border-color:#f6d3d8}
.run-reason{flex-basis:100%;order:9;font-size:12.5px;color:#5b6784}
.run-reason summary{cursor:pointer;font-weight:600}
.run-reason p{margin:6px 0 0;white-space:pre-wrap;max-height:7.5em;overflow:auto}
@keyframes run-pulse{50%{transform:scale(.6);opacity:.55}}

/* cards appear as they're written; the caret marks the one still being written */
.card{animation:card-in .32s cubic-bezier(.2,.8,.2,1) both}
.card.streaming{border-color:#cfdcf7;box-shadow:0 10px 34px #1769ff14}
.card.streaming .t::after{content:'';display:inline-block;width:2px;height:1.05em;margin-left:2px;vertical-align:-.15em;background:var(--blue);animation:caret 1s steps(1) infinite}
.card .n[hidden]{display:none}
@keyframes card-in{from{opacity:0;transform:translateY(8px)}}
@keyframes caret{50%{opacity:0}}

/* suggested next actions */
.next-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:16px}
.next-actions:empty{display:none}
.next-label{font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#8a94ab;margin-right:4px}
.next-btn{border:1px solid var(--line);background:#fff;border-radius:0;padding:8px 14px;font-size:13px;font-weight:600;color:var(--navy);animation:card-in .3s both}
@media (hover:hover) and (pointer:fine){.next-btn:hover{border-color:var(--blue);color:var(--blue)}}
.next-btn.locked{color:#8a94ab}

/* dictation */
.has-mic textarea{padding-right:52px}
.mic{position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:0;border:1px solid var(--line);background:#fff;font-size:15px;line-height:1;display:grid;place-items:center}
.mic[hidden]{display:none}
@media (hover:hover) and (pointer:fine){.mic:hover{border-color:var(--blue)}}
.mic.listening{background:var(--danger);border-color:var(--danger);animation:run-pulse 1.2s ease-in-out infinite}

/* Ask Phrases */
.ask-btn{margin-left:auto;margin-right:12px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:0;padding:9px 10px 9px 14px;font-size:13.5px;font-weight:600;color:var(--navy);box-shadow:0 4px 18px #1769ff0f}
.ask-btn>span{background:linear-gradient(135deg,var(--cyan),var(--violet));-webkit-background-clip:text;background-clip:text;color:transparent}
@media (hover:hover) and (pointer:fine){.ask-btn:hover{border-color:var(--blue)}}
.cmd-backdrop{align-items:flex-start;padding-top:12vh}
.cmd{width:100%;max-width:640px;background:#fff;border-radius:20px;box-shadow:0 40px 100px #0b153855;overflow:hidden;animation:cmd-in .18s cubic-bezier(.2,.8,.2,1)}
@keyframes cmd-in{from{opacity:0;transform:translateY(-8px) scale(.985)}}
.cmd-input{position:relative;display:flex;align-items:flex-start;gap:12px;padding:18px 18px 14px;border-bottom:1px solid var(--line)}
.cmd-mark{font-size:20px;line-height:28px;background:linear-gradient(135deg,var(--cyan),var(--violet));-webkit-background-clip:text;background-clip:text;color:transparent}
.cmd-input textarea{flex:1;border:0;outline:none;resize:none;font-size:18px;line-height:28px;color:var(--navy);max-height:160px}
.cmd-input .mic{position:static;flex:none}
.cmd-esc{margin-top:5px}
.cmd-context{padding:8px 18px;font-size:12.5px;color:#5b6784;background:var(--soft);border-bottom:1px solid var(--line)}
.cmd-context[hidden]{display:none}
.cmd-body{max-height:min(52vh,460px);overflow:auto;padding:8px}
.cmd-group p{margin:10px 10px 4px;font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#8a94ab}
.cmd-row{width:100%;display:flex;align-items:center;gap:12px;text-align:left;border:0;background:transparent;border-radius:0;padding:10px 12px;color:var(--navy)}
.cmd-row>span:nth-child(2){flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.cmd-row b{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cmd-row small{font-size:12.5px;color:#7a859c;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cmd-row.active{background:#eef3ff}
@media (hover:hover) and (pointer:fine){.cmd-row:hover{background:#eef3ff}}
.cmd-row.ask b{background:linear-gradient(90deg,var(--blue),var(--violet));-webkit-background-clip:text;background-clip:text;color:transparent}
.cmd-ico{width:30px;height:30px;flex:none;border-radius:9px;display:grid;place-items:center;background:var(--soft);font-size:14px}
.cmd-hint,.lock{font-size:12px;color:#8a94ab}
.cmd-msg{padding:16px 14px;font-size:14.5px;line-height:1.5;color:var(--navy);display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.cmd-msg.error{color:var(--danger)}
.cmd-foot{display:flex;gap:18px;padding:10px 18px;border-top:1px solid var(--line);font-size:12px;color:#8a94ab}

/* Your voice */
.voice-modal{max-width:520px}
.voice-lede{margin:-8px 0 16px;color:#65708a;font-size:14px;line-height:1.5}
.voice-toggle{display:flex;gap:8px;align-items:center;font-size:14px;font-weight:600;margin-bottom:12px}
.voice-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:6px;max-height:40vh;overflow:auto}
.voice-note{display:flex;gap:6px}
.voice-note input,.voice-add input{flex:1;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:14px;outline:none}
.voice-note input:focus,.voice-add input:focus{border-color:#7ba7ff}
.voice-del{border:0;background:transparent;font-size:20px;color:#9aa4bf;width:34px}
@media (hover:hover) and (pointer:fine){.voice-del:hover{color:var(--danger)}}
.voice-empty{color:#8a94ab;font-size:13.5px;padding:8px 0}
.voice-add{display:flex;gap:8px}
.voice-foot{display:flex;justify-content:space-between;align-items:center;margin-top:10px}
.voice-foot .ws-status{margin:0}

@media(max-width:1100px){.ask-btn kbd{display:none}nav{gap:20px;margin-left:24px}}
@media(max-width:820px){header{backdrop-filter:none;background:#fff}body{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}.account-btn{max-width:58vw;min-width:0}.acct-email{overflow:hidden;text-overflow:ellipsis;min-width:0}.account-btn .tier-pill{flex:none}.account-btn{white-space:nowrap}.ask-btn{position:fixed;right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));margin:0;z-index:30;padding:13px 18px;box-shadow:0 14px 40px #0b153833}.cmd-backdrop{padding:10px;align-items:flex-start}.cmd-foot{display:none}.run-btn{margin-left:0}}
@media (prefers-reduced-motion:reduce){.card,.next-btn,.cmd{animation:none}button:not(:disabled):active{transform:none;opacity:.75}.card.streaming .t::after,.run-dot,.mic.listening{animation:none}}

/* press feel: the button answers the moment a finger or click lands */
html{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%}
button{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;transition:transform .12s cubic-bezier(.23,1,.32,1),background-color .12s,border-color .12s,color .12s}
button:not(:disabled):active{transform:scale(.97)}
.phrase:not(:disabled):active,.cmd-row:not(:disabled):active{transform:scale(.985)}
button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.cmd-row:focus-visible{outline-offset:-2px}
/* iOS zooms the page into any field under 16px and never zooms back out */
@media (pointer:coarse){.sel select,.sel input,.compare-row textarea,.char-field input,.char-field textarea,.voice-note input,.voice-add input,.field-stack input{font-size:16px}}
