/* BBS dialer and pre-order research widgets */
.dialer{border:1px solid #375265;background:#080f18;border-radius:6px;overflow:hidden;margin:26px 0}
.dialer-bar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;background:#17283a;padding:13px 18px}
.dialer-bar strong{letter-spacing:.12em;font:700 12px/1.5 ui-monospace,Consolas,monospace;color:#a4e3df}
.dialer-bar .dialer-state{color:#f1d2aa;font-size:12px}
.dialer-window{padding:15px;min-height:420px;max-width:100%;overflow:auto}
.dialer-window .xterm{min-height:360px}
.dialer-actions{padding:12px 18px 16px;display:flex;align-items:center;flex-wrap:wrap;gap:13px;border-top:1px solid #284050}
.dialer-actions button{cursor:pointer}
.dialer-actions button:disabled{opacity:.45;cursor:not-allowed}
.dialer-caption{font-size:13px;color:#b0c6d1;margin:12px 0}
.poll-card{margin-top:28px;background:#111c28;border:1px solid #334858;border-radius:6px;padding:26px}
.poll-card h3{font-size:clamp(1.4rem,2.3vw,1.8rem);margin:0 0 10px}
.poll-card fieldset{border:0;padding:0;margin:18px 0 20px}
.poll-card legend{font-size:13px;color:#c9d5dd;margin-bottom:12px}
.poll-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.poll-options label{display:block;cursor:pointer;border:1px solid #455666;background:#0c141e;border-radius:5px;padding:17px;font-weight:650}
.poll-options label:has(input:checked){border-color:#a5e2d8;background:#172b33}
.poll-options input{margin-right:8px;accent-color:#9de0d5}
.poll-options small{display:block;margin:7px 0 0 24px;color:#adbdca;font-weight:400;font-size:12px}
.poll-feedback{color:#bbccd4;font-size:13px;min-height:1.3em}
.poll-results{margin:15px 0 0;padding:0;list-style:none;color:#c9d7dc;font-size:13px}
.poll-results li{margin:8px 0}
.poll-meter{height:6px;border-radius:3px;background:#2c3d48;overflow:hidden;margin-top:4px}
.poll-meter span{display:block;height:100%;background:#99dcd6}
.preorder-tease{border-top:1px solid #354654;margin-top:34px;padding-top:26px}
.preorder-tease strong{font-size:1.1rem;color:#eff5f5}
.preorder-tease p{font-size:14px;max-width:750px;color:#bbcbd4}
@media(max-width:650px){.poll-options{grid-template-columns:1fr}.poll-card{padding:19px}.dialer-window{padding:7px;min-height:390px}.dialer-actions{padding:10px 12px}.dialer-window .xterm{font-size:13px}}

/* PETSCII/C-G display: pixel-rescaled 320 x 200 character canvas */
.dialer-mode{display:flex;flex-wrap:wrap;gap:8px;background:#0b1724;border-bottom:1px solid #314858;padding:12px 16px}
.dialer-mode button{border:1px solid #4d6273;border-radius:4px;background:#152435;color:#d1e2e9;padding:10px 13px;cursor:pointer;font-size:13px;font-weight:600}
.dialer-mode button[aria-pressed="true"]{background:#a4e3df;color:#0c1a20;border-color:#a4e3df}
.dialer-mode button:hover:not([aria-pressed="true"]){background:#263c50}
.dialer-mode button:focus-visible,.dialer-input-form input:focus-visible,#bbs-cg-canvas:focus-visible{outline:3px solid #f0d29a;outline-offset:3px}
.cg-screen-wrap{padding:20px;background:#13192c;border-bottom:1px solid #314858;overflow-x:auto}
#bbs-cg-canvas{display:block;width:100%;max-width:800px;aspect-ratio:8 / 5;margin:0 auto;background:#272c8e;image-rendering:pixelated;image-rendering:crisp-edges;cursor:text}
.dialer-input-form{display:grid;gap:8px;background:#0c1521;padding:14px 18px 18px}
.dialer-input-form label{font-size:12px;font-weight:600;color:#bdcbd5}
.dialer-input-form>div{display:flex;gap:10px;align-items:stretch}
.dialer-input-form input{min-width:0;flex:1;background:#07101a;border:1px solid #476075;border-radius:4px;color:#e0ecea;font:14px/1.5 ui-monospace,Consolas,monospace;padding:11px 12px}
.dialer-input-form button{white-space:nowrap}
@media(max-width:600px){
 .cg-screen-wrap{padding:8px}
 .dialer-mode{padding:10px}
 .dialer-mode button{flex:1;padding:9px 7px;font-size:12px}
 .dialer-input-form{padding:10px}
 .dialer-input-form>div{flex-direction:column}
 .dialer-input-form button{width:100%}
}

/* The BBS asks for a single terminal-selection key before logon. */
.dialer-negotiation{padding:12px 16px;background:#102132;border-bottom:1px solid #314858}
.dialer-negotiation p{margin:0 0 10px;color:#c4d5dd;font-size:13px;line-height:1.55}
.dialer-negotiation-buttons{display:flex;flex-wrap:wrap;gap:8px}
.dialer-negotiation-buttons button{padding:9px 12px;background:#182e42;color:#ccece9;border:1px solid #497083;border-radius:4px;font-size:12px;font-weight:650;cursor:pointer}
.dialer-negotiation-buttons button:hover:not(:disabled){border-color:#a4e3df;background:#244257}
.dialer-negotiation-buttons button:disabled{cursor:not-allowed;opacity:.45}
.dialer-negotiation-buttons button:focus-visible{outline:3px solid #f0d29a;outline-offset:3px}

/* Curated public BBS selector and non-sensitive relay diagnostics. */
.bbs-directory{display:grid;gap:9px;padding:14px 17px 16px;background:#0c1725;border-bottom:1px solid #314858}
.bbs-directory label{font-weight:700;font-size:12px;color:#aee1df;letter-spacing:.03em}
.bbs-directory select{max-width:510px;width:100%;border:1px solid #5a7586;border-radius:4px;padding:12px;background:#12253a;color:#f1f5f4;font:14px/1.4 system-ui,sans-serif}
.bbs-directory p{font-size:12px;color:#bbccd5;margin:0;line-height:1.6}
.bbs-directory select:focus-visible{outline:2px solid #e8d39d;outline-offset:2px}
.bbs-advanced-keys{flex:1 1 100%;margin-top:4px;font-size:12px;color:#bacdd5}
.bbs-advanced-keys summary{cursor:pointer;max-width:max-content;padding:5px 0}
.bbs-advanced-keys button{margin:7px 7px 5px 0}
.bbs-advanced-keys small{display:block;font-size:12px;line-height:1.5;color:#acc0ca}
.bbs-relay-status{color:#c5d4dc;font:12px/1.6 ui-monospace,Consolas,monospace;background:#101b29;margin:0;padding:10px 17px;border-top:1px solid #324554;overflow-wrap:anywhere}
