.travel-communication-section{--comm-bg:#07141b;--comm-panel:#10232c;--comm-panel-2:#0b1b23;--comm-line:rgba(190,226,226,.18);--comm-text:#f4f8f8;--comm-muted:#9eb2b7;--comm-teal:#18b9ae;--comm-amber:#f1a43a;position:relative;isolation:isolate;overflow:hidden;padding:90px max(5vw,24px);background:radial-gradient(circle at 12% 3%,rgba(24,185,174,.16),transparent 34%),radial-gradient(circle at 92% 78%,rgba(241,164,58,.11),transparent 30%),linear-gradient(145deg,#0b1d25 0%,#061219 62%,#0a1820 100%);color:var(--comm-text)}
.travel-communication-section::before{content:"";position:absolute;z-index:-1;inset:0;opacity:.16;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,black,transparent 72%)}
.travel-communication-section .section-heading h2{color:var(--comm-text)}.travel-communication-section .section-heading .overline{color:#59d9d0}.travel-communication-section .section-heading .journal-intro{color:#b9c8cc}
.communication-warning{display:flex;gap:12px;align-items:center;max-width:1120px;margin:0 auto 24px;padding:14px 18px;border:1px solid rgba(241,164,58,.3);border-radius:15px;background:rgba(44,34,22,.62);box-shadow:inset 0 1px rgba(255,255,255,.05);color:#f1d9b8;backdrop-filter:blur(14px)}.communication-warning strong{color:#ffc46f;white-space:nowrap}.communication-warning span{line-height:1.45}
.communication-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:1120px;margin:auto;perspective:1200px}
.translator-card,.morse-card{position:relative;display:grid;align-content:start;gap:16px;overflow:hidden;padding:26px;border:1px solid var(--comm-line);border-radius:22px;background:linear-gradient(145deg,rgba(20,43,53,.97),rgba(8,23,31,.98));box-shadow:0 28px 70px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.06);color:var(--comm-text)}
.translator-card::before,.morse-card::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,transparent,var(--comm-teal),transparent)}.morse-card::before{background:linear-gradient(90deg,transparent,var(--comm-amber),transparent)}
.translator-card header,.morse-card header{display:flex;align-items:center;gap:14px;padding-bottom:4px}.communication-line-icon,.morse-mark{display:grid;place-items:center;flex:0 0 54px;width:54px;height:54px;border:1px solid rgba(89,217,208,.28);border-radius:15px;background:linear-gradient(145deg,rgba(24,185,174,.2),rgba(24,185,174,.07));box-shadow:inset 0 1px rgba(255,255,255,.08),0 12px 28px rgba(0,0,0,.2);color:#5de2d8}.communication-line-icon svg{width:27px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.morse-mark{display:flex;gap:5px;border-color:rgba(241,164,58,.28);background:linear-gradient(145deg,rgba(241,164,58,.19),rgba(241,164,58,.06))}.morse-mark i{display:block;width:7px;height:7px;border-radius:50%;background:#ffc269;box-shadow:0 0 12px rgba(241,164,58,.5)}
.translator-card h3,.morse-card h3{margin:2px 0 0;color:var(--comm-text);font-size:24px;letter-spacing:-.02em}.translator-card header small,.morse-card header small{color:var(--comm-muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.13em}
.translator-card label,.morse-card label{display:grid;gap:7px;color:#d8e4e6;font-size:13px;font-weight:800}.translator-card textarea,.morse-card textarea,.translator-card select{width:100%;box-sizing:border-box;border:1px solid rgba(184,216,218,.19);border-radius:12px;outline:none;background:rgba(3,14,20,.68);box-shadow:inset 0 2px 8px rgba(0,0,0,.22);padding:13px;color:var(--comm-text);font:inherit;transition:border-color .18s,box-shadow .18s}.translator-card textarea:focus,.morse-card textarea:focus,.translator-card select:focus{border-color:#42cfc5;box-shadow:0 0 0 3px rgba(24,185,174,.14),inset 0 2px 8px rgba(0,0,0,.18)}.translator-card select option{background:#10232c;color:white}
.translator-languages{display:grid;grid-template-columns:1fr 48px 1fr;gap:10px;align-items:end}.translator-languages button{height:48px;border:1px solid rgba(89,217,208,.35);border-radius:12px;background:rgba(24,185,174,.09);color:#67e1d9;font-size:22px;font-weight:700;transition:transform .18s,background .18s}.translator-languages button:hover{transform:translateY(-1px);background:rgba(24,185,174,.16)}
.translator-actions,.morse-actions,.morse-playback{display:flex;flex-wrap:wrap;gap:9px}.translator-actions button,.morse-actions button,.morse-playback button{flex:1 1 132px;min-height:46px;border-radius:11px;font-weight:800}.travel-communication-section .primary-button{border:1px solid #3ed4ca;background:linear-gradient(135deg,#19bcb1,#087d78);color:white;box-shadow:0 10px 24px rgba(8,125,120,.25)}.travel-communication-section .secondary-button{border:1px solid rgba(185,217,219,.23);background:rgba(255,255,255,.045);color:#d9e8ea;box-shadow:none}.travel-communication-section button:hover:not(:disabled){transform:translateY(-1px)}.travel-communication-section button:disabled{opacity:.42}
.action-mic::before{content:"";display:inline-block;width:8px;height:8px;margin-right:8px;border:2px solid #65e0d7;border-radius:50%;box-shadow:0 0 0 3px rgba(24,185,174,.1)}.action-listen::before{content:"◖";display:inline-block;margin-right:7px;color:#65e0d7}
.translator-result{display:grid;gap:9px;padding:17px;border:1px solid rgba(89,217,208,.21);border-radius:16px;background:linear-gradient(145deg,rgba(24,185,174,.12),rgba(24,185,174,.035));box-shadow:inset 0 1px rgba(255,255,255,.04)}.translator-result small{font-size:11px;font-weight:900;color:#61dbd3;text-transform:uppercase;letter-spacing:.13em}.translator-result p{min-height:54px;margin:0;color:#f3ffff;font-size:19px;line-height:1.48;white-space:pre-wrap}
.morse-output{min-height:68px;padding:17px;border:1px solid rgba(241,164,58,.24);border-radius:14px;background:linear-gradient(145deg,#050d12,#0c171c);box-shadow:inset 0 2px 12px rgba(0,0,0,.48);color:#ffd28e;font:700 18px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.05em;overflow-wrap:anywhere;user-select:text}
.morse-lamp{height:9px;border:1px solid rgba(255,255,255,.09);border-radius:99px;background:#16262c;transition:background .04s,box-shadow .04s}.morse-lamp.is-on{background:#ffd783;box-shadow:0 0 22px 6px rgba(241,164,58,.42)}
.communication-status{position:relative;margin:0;padding-left:16px;color:var(--comm-muted);font-size:13px;line-height:1.45}.communication-status::before{content:"";position:absolute;left:0;top:.45em;width:7px;height:7px;border-radius:50%;background:#35c5bb;box-shadow:0 0 9px rgba(53,197,187,.55)}.communication-status.is-error{color:#ffaaa4;font-weight:800}.communication-status.is-error::before{background:#f36c63;box-shadow:0 0 9px rgba(243,108,99,.5)}
@media(max-width:780px){.travel-communication-section{padding:66px 16px}.communication-grid{grid-template-columns:1fr}.communication-warning{align-items:flex-start;flex-direction:column}.communication-warning strong{white-space:normal}.translator-card,.morse-card{padding:19px;border-radius:19px}.translator-languages{grid-template-columns:1fr 42px 1fr}.translator-card h3,.morse-card h3{font-size:21px}.communication-line-icon,.morse-mark{flex-basis:48px;width:48px;height:48px}}

/* Build 95: bolder colour and a sleeker premium finish. */
.travel-communication-section{--comm-bg:#050b18;--comm-panel:#101b31;--comm-panel-2:#081221;--comm-line:rgba(167,207,255,.2);--comm-text:#f8fbff;--comm-muted:#aab7ca;--comm-teal:#20e0cf;--comm-blue:#2787ff;--comm-purple:#8d5cff;--comm-amber:#ffb43b;background:radial-gradient(circle at 6% 4%,rgba(32,224,207,.24),transparent 30%),radial-gradient(circle at 98% 18%,rgba(141,92,255,.2),transparent 34%),radial-gradient(circle at 78% 98%,rgba(39,135,255,.16),transparent 34%),linear-gradient(145deg,#09182b 0%,#050b18 55%,#0b1022 100%)}
.travel-communication-section::before{opacity:.21;background-size:52px 52px;background-image:linear-gradient(rgba(91,160,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(91,160,255,.055) 1px,transparent 1px)}
.travel-communication-section .section-heading .overline{color:#55f1e3;text-shadow:0 0 22px rgba(32,224,207,.24)}
.communication-warning{border-color:rgba(255,180,59,.34);background:linear-gradient(100deg,rgba(80,52,18,.58),rgba(35,29,39,.58));box-shadow:0 14px 34px rgba(0,0,0,.17),inset 0 1px rgba(255,255,255,.07)}
.communication-grid{grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:26px}
.translator-card,.morse-card{padding:29px;border-color:rgba(157,204,255,.22);border-radius:20px;background:linear-gradient(150deg,rgba(24,43,72,.97),rgba(7,17,33,.985) 68%);box-shadow:0 34px 85px rgba(0,0,0,.4),0 0 0 1px rgba(97,171,255,.035),inset 0 1px rgba(255,255,255,.08);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.translator-card:hover,.morse-card:hover{transform:translateY(-2px);border-color:rgba(90,211,255,.34);box-shadow:0 38px 95px rgba(0,0,0,.44),0 0 38px rgba(39,135,255,.08),inset 0 1px rgba(255,255,255,.09)}
.translator-card::before{height:4px;background:linear-gradient(90deg,var(--comm-teal),var(--comm-blue),var(--comm-purple))}.morse-card::before{height:4px;background:linear-gradient(90deg,#ff8e2c,var(--comm-amber),#ffe080)}
.translator-card::after,.morse-card::after{content:"";position:absolute;z-index:0;right:-90px;top:-110px;width:230px;height:230px;border-radius:50%;background:radial-gradient(circle,rgba(39,135,255,.14),transparent 68%);pointer-events:none}.morse-card::after{background:radial-gradient(circle,rgba(255,180,59,.12),transparent 68%)}.translator-card>*,.morse-card>*{position:relative;z-index:1}
.communication-line-icon{border-color:rgba(63,226,215,.42);background:linear-gradient(145deg,rgba(32,224,207,.27),rgba(39,135,255,.12));box-shadow:0 14px 34px rgba(0,0,0,.24),0 0 24px rgba(32,224,207,.1);color:#65f6e8}.morse-mark{border-color:rgba(255,180,59,.42);background:linear-gradient(145deg,rgba(255,180,59,.25),rgba(255,102,44,.08))}
.translator-card h3,.morse-card h3{font-size:25px}.translator-card header small{color:#6cf4e8}.morse-card header small{color:#ffc86c}
.translator-card textarea,.morse-card textarea,.translator-card select{border-color:rgba(147,194,255,.2);border-radius:10px;background:linear-gradient(145deg,rgba(4,12,26,.82),rgba(8,20,38,.76));box-shadow:inset 0 2px 10px rgba(0,0,0,.29);padding:14px}.translator-card textarea:focus,.morse-card textarea:focus,.translator-card select:focus{border-color:#45e3d5;box-shadow:0 0 0 3px rgba(32,224,207,.15),0 0 24px rgba(39,135,255,.08),inset 0 2px 8px rgba(0,0,0,.2)}
.translator-languages button{border-color:rgba(64,225,213,.42);border-radius:10px;background:linear-gradient(145deg,rgba(32,224,207,.13),rgba(39,135,255,.1));color:#75f5eb}
.travel-communication-section .primary-button{border-color:rgba(108,244,234,.65);border-radius:10px;background:linear-gradient(115deg,#13cdbf 0%,#168fda 55%,#6759e9 100%);box-shadow:0 13px 30px rgba(20,139,205,.26),inset 0 1px rgba(255,255,255,.2)}
.travel-communication-section .secondary-button{border-color:rgba(154,199,255,.25);border-radius:10px;background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025));color:#e4edfb}
.translator-result{border-color:rgba(66,221,228,.3);background:linear-gradient(130deg,rgba(22,204,190,.15),rgba(39,135,255,.09) 58%,rgba(141,92,255,.08));box-shadow:inset 0 1px rgba(255,255,255,.07),0 16px 36px rgba(0,0,0,.12)}.translator-result small{color:#73f5ea}.translator-result p{font-size:20px}
.morse-output{border-color:rgba(255,180,59,.35);background:linear-gradient(145deg,#030711,#10101d);color:#ffd787;box-shadow:inset 0 2px 15px rgba(0,0,0,.6),0 14px 30px rgba(0,0,0,.15)}
.morse-lamp{background:#172034}.morse-lamp.is-on{background:linear-gradient(90deg,#ff932e,#ffd169,#fff0a7);box-shadow:0 0 26px 8px rgba(255,180,59,.48)}
@media(max-width:780px){.communication-grid{grid-template-columns:1fr;gap:20px}.translator-card,.morse-card{padding:20px}.translator-card:hover,.morse-card:hover{transform:none}.translator-card h3,.morse-card h3{font-size:22px}}

/* Build 99: hybrid translator tabs, offline pack controls and FAQ. */
.communication-tabs{display:flex;flex-wrap:wrap;gap:10px;max-width:1180px;margin:0 auto 22px;padding:7px;border:1px solid rgba(151,199,255,.2);border-radius:16px;background:rgba(4,13,28,.58)}
.communication-tabs button{flex:1 1 190px;min-height:46px;border:0;border-radius:11px;background:transparent;color:#b8c7dc;font-weight:850}
.communication-tabs button[aria-selected="true"]{background:linear-gradient(115deg,rgba(19,205,191,.28),rgba(22,143,218,.3),rgba(103,89,233,.25));color:white;box-shadow:inset 0 0 0 1px rgba(101,246,232,.28)}
.communication-panel{max-width:1180px;margin:0 auto}.communication-panel[hidden]{display:none}.communication-panel .translator-card,.communication-panel .morse-card{max-width:820px;margin:0 auto}
.translator-mode-strip{display:flex;flex-wrap:wrap;align-items:center;gap:9px;padding:12px;border:1px solid rgba(96,224,214,.2);border-radius:13px;background:rgba(2,12,25,.42)}
.translator-mode-strip span{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.07);color:#dce8f7;font-size:12px;font-weight:850}.translator-mode-strip button{margin-left:auto;min-height:38px}
.communication-faq-card{max-width:900px;margin:0 auto;padding:28px;border:1px solid rgba(157,204,255,.22);border-radius:20px;background:linear-gradient(150deg,rgba(24,43,72,.97),rgba(7,17,33,.985));box-shadow:0 34px 85px rgba(0,0,0,.4);color:var(--comm-text)}
.communication-faq-card header{margin-bottom:15px}.communication-faq-card small{color:#6cf4e8;font-weight:850;text-transform:uppercase;letter-spacing:.12em}.communication-faq-card h3{margin:5px 0 0;font-size:26px}.communication-faq-card details{border-top:1px solid rgba(157,204,255,.16);padding:0}.communication-faq-card summary{cursor:pointer;padding:17px 4px;color:#f6fbff;font-weight:850}.communication-faq-card p{margin:0;padding:0 4px 18px;color:#b8c6d9;line-height:1.65}
@media(max-width:780px){.communication-tabs{margin-bottom:16px}.communication-tabs button{flex-basis:100%}.translator-mode-strip button{width:100%;margin-left:0}.communication-faq-card{padding:20px}.communication-faq-card h3{font-size:22px}}

.action-mic.is-listening{box-shadow:0 0 0 3px rgba(53,197,187,.22);font-weight:900}.action-mic.is-listening::before{background:#65e0d7;animation:commMicPulse 1s ease-in-out infinite}@keyframes commMicPulse{50%{transform:scale(1.45);box-shadow:0 0 0 7px rgba(101,224,215,.08)}}
