/* EKHO Sonic Chill — Talk to EKHO (9 Oct 2026, build_talk.py).
   Same tokens as site.css: true black, cyan -> violet, keycap corners. */

/* top bar: sits beside Listen now; phones get it in the menu instead */
.navbtn.talk{display:inline-flex;align-items:center;gap:9px;border-color:rgba(63,215,255,.55);background:rgba(7,5,13,.7);white-space:nowrap}
.navbtn.talk:hover,.navbtn.talk:focus-visible{border-color:var(--violet);box-shadow:0 0 22px rgba(180,76,255,.35);outline:none}
.navbtn.talk svg{width:16px;height:16px;flex:none;fill:none;stroke:var(--cyan);stroke-width:2.1;stroke-linejoin:round}
/* laptop widths: the full menu stays, so the button shrinks to its key (the label stays for screen readers) */
@media (min-width:901px) and (max-width:1519px){.navbtn.talk{padding:9px 12px}.navbtn.talk .tk-l{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}
#navmenu a.talk{margin-top:18px;font-family:"IBM Plex Mono",monospace;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);border:1px solid rgba(180,76,255,.55);border-radius:var(--key);padding:14px 16px;text-align:center}
#navmenu a.talk + a{margin-top:10px}
@media (max-width:900px){.navbtn.talk{display:none}}

/* the player dock: Tell EKHO key, and the prompt when an episode ends */
.dk-mid{min-width:0}
.dk-mid .dk-now{display:block}
.dk-win .dk-tell{color:var(--ink);border-color:rgba(63,215,255,.5);padding:0 12px;gap:7px}
.dk-win .dk-tell b{font-family:"IBM Plex Mono",monospace;font-weight:500;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.dk-end{display:none;width:100%;max-width:100%;min-width:0;justify-self:start;font-family:"IBM Plex Mono",monospace;font-size:12.5px;letter-spacing:.05em;color:var(--ink);background:transparent;border:0;padding:0;cursor:pointer;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.escdock.talk-end .dk-now{display:none}
.escdock.talk-end .dk-end{display:block}
.escdock.talk-end .dk-tell{background:var(--grad);color:#07030f;border-color:transparent;box-shadow:0 0 18px rgba(63,215,255,.45)}
@media (max-width:600px){.dk-win .dk-tell b{display:none}.dk-end{font-size:11.5px;white-space:normal;line-height:1.25}.dk-end .e1{display:none}}

/* /talk/ */
.talkwrap{max-width:660px;padding:34px var(--gutter) 90px}
.talkwrap .lede{color:var(--ink2);font-size:19px;max-width:60ch}
.talkform{margin-top:30px;display:grid;gap:22px}
.talkform label{display:grid;gap:8px;min-width:0}
.talkform input[type=email],.talkform input[type=text],.talkform textarea{width:100%;background:#07050d;border:1px solid rgba(63,215,255,.45);border-radius:14px;color:var(--ink);font-family:"Oswald",system-ui,sans-serif;font-size:20px;padding:14px 18px;outline:none}
.talkform textarea{resize:vertical;min-height:150px;line-height:1.45}
.talkform ::placeholder{color:#6f6990}
.talkform input:focus,.talkform textarea:focus{border-color:#b44cff;box-shadow:0 0 0 3px rgba(180,76,255,.25)}
.talkform .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.talkform .btn{justify-self:start;margin-top:4px}
.talkform label.chk{display:flex;gap:14px;align-items:center}
.talkform .chips{display:flex;flex-wrap:wrap;gap:12px 26px}
.talkform .chk input[type=radio],.talkform .chk input[type=radio]::after{border-radius:50%}
.talkform .opt{color:var(--muted);letter-spacing:.08em;text-transform:none}
.talkform .count{justify-self:end;font-size:12px;color:var(--muted)}
.talkform .pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.talkabout{display:flex;align-items:center;gap:12px;padding:10px 12px 10px 14px;border:1px solid rgba(63,215,255,.35);border-radius:14px;background:#07050d;font-family:"IBM Plex Mono",monospace;font-size:13px;color:var(--cyan);min-width:0}
.talkabout[hidden]{display:none}
.talkabout .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.talkabout button{flex:none;width:30px;height:30px;border-radius:9px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:18px;cursor:pointer}
.talkabout button:hover{color:var(--ink)}
.talkerr{display:none;color:#ff6fe3}
.talkdone{display:none;margin-top:30px;padding:26px 24px;border:1px solid rgba(180,76,255,.5);border-radius:18px;background:rgba(180,76,255,.08)}
.talkdone h2{font-family:"Anton";font-weight:400;font-size:34px;text-transform:uppercase}
.talkdone p{margin-top:10px;color:var(--ink2);font-size:18px}
.talkdone .row{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.talkwrap.sent .talkform,.talkwrap.sent .lede{display:none}
.talkwrap.sent .talkdone{display:block}
@media (max-width:600px){.talkform .pair{grid-template-columns:1fr}.talkform .chips{flex-direction:column}}

/* ESC Radio page: say hi */
.sayhi-card{display:flex;align-items:center;justify-content:space-between;gap:20px 28px;flex-wrap:wrap;padding:24px 26px;border:1px solid rgba(180,76,255,.45);border-radius:18px;background:linear-gradient(180deg,rgba(180,76,255,.10),rgba(63,215,255,.04))}
.sayhi-t{min-width:0;flex:1 1 320px}
.sayhi-card h3{font-family:"Anton";font-weight:400;font-size:30px;text-transform:uppercase;line-height:1.05}
.sayhi-card p{margin-top:8px;color:var(--ink2);font-size:17px}
