:root{color-scheme:dark;--bg:#202020;--panel:#242424;--line:#3b3b3b;--muted:#929292;--text:#e2e2e2;--blue:#0098dd;--green:#84c3aa;--amber:#e6b87a;font:15px/1.6 'Segoe UI','Microsoft YaHei',sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button,input,select,textarea,a{outline-offset:4px}button{color:var(--text);background:#292929;border:1px solid #505050;border-radius:3px;padding:8px 15px;cursor:pointer}button:hover:not(:disabled){background:#383838}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:2px solid var(--blue)}input,select,textarea{width:100%;background:#1d1d1d;color:var(--text);border:1px solid #505050;border-radius:2px;padding:10px}input:focus,textarea:focus{outline:1px solid var(--blue);border-color:var(--blue)}input[type=checkbox]{width:auto}textarea{resize:vertical;font-family:Consolas,'SFMono-Regular',monospace}a{color:#64b9e2;text-decoration:none}a:hover{text-decoration:underline}.primary{background:#0076ad;border-color:#008bcb;color:#fff}.primary:hover:not(:disabled){background:#008cc9}[hidden]{display:none!important}
header{height:78px;background:var(--panel);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;gap:16px}.brand strong{font-size:25px;font-weight:400}.header-right{display:flex;align-items:center;gap:20px}h1{font:600 24px Consolas,monospace;margin:0}#settingsButton{font-size:32px;background:none;border:0;padding:0 4px;line-height:1.4;color:#b7b7b7}.mainnav,.subnav{display:flex;background:var(--panel);border-bottom:1px solid var(--line)}.mainnav button,.subnav button{flex:1;position:relative;border:0;border-radius:0;background:none;padding:17px 8px;color:var(--muted);font-size:21px}.mainnav button::after,.subnav button::after{position:absolute;bottom:0;left:20%;right:20%;height:1px;background:#135371;content:''}.mainnav button.selected,.subnav button.selected{color:#fff}.mainnav button.selected::after,.subnav button.selected::after{height:3px;background:var(--blue)}.subnav button{font-size:19px;padding:13px 8px}main{margin:0 auto;min-height:calc(100dvh - 145px)}h2{font-size:17px;font-weight:500;margin:0}h3{font-size:18px;font-weight:500}.mono,.frequency{font-family:Consolas,'SFMono-Regular',monospace;font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.small{font-size:12px}.demo{background:#40361d;color:#e6c98a;text-align:center;padding:5px 12px;font-size:12px}footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:16px 28px;border-top:1px solid #303030;color:#777;font-size:11px}footer b{font-weight:400}
.cpdlc-status{display:flex;justify-content:space-between;gap:12px;padding:12px 28px;background:var(--panel);border-bottom:1px solid var(--line);color:#aaa;font-size:18px}.cpdlc-status>span:last-child{font-size:15px;color:#808080;align-self:center}.hoppie-feedback{padding:9px 28px;font-size:13px;color:var(--muted);min-height:39px}.hoppie-feedback.error,.feedback.error{color:var(--amber)}.hoppie-page{min-height:calc(100dvh - 355px)}.pending-label{margin:6px 28px 28px;color:#858585;font-size:18px}.hoppie-log{padding:0 28px 30px;overflow-wrap:anywhere}.hoppie-message{margin:0 0 28px;color:var(--green)}.hoppie-message-text{font:18px/1.65 Consolas,'SFMono-Regular','Microsoft YaHei',monospace;white-space:pre-wrap}.message-state{font-size:12px;color:#989898;display:block;margin-top:6px}.reply-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.reply-actions button{color:#a9d8c6;border-color:#436252;background:#24352d;font:13px Consolas,monospace;min-height:40px}.reply-actions button:hover:not(:disabled){background:#304b3d}.empty-log{color:#737373;margin:0;padding:12px 0}.hoppie-forms{display:grid;grid-template-columns:1fr 1fr;max-width:1100px;padding:16px 28px 0;gap:56px}.hoppie-forms form>label,.hoppie-compose label{display:block;margin-top:16px;color:#b6b6b6;font-size:14px}.hoppie-forms input,.hoppie-compose input,.hoppie-compose textarea,.hoppie-compose select{margin-top:7px}.hoppie-forms p{font-size:13px;line-height:1.8}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:20px}.hoppie-note{padding:10px 28px;font-size:12px}.hoppie-compose{max-width:900px;padding:0 28px 28px}.compose-address{display:grid;grid-template-columns:1fr 1fr;gap:20px}.hoppie-compose .form-actions>span{margin-right:auto}.outbox-title{padding:20px 28px;border-top:1px solid var(--line);color:#aaa}.outgoing .hoppie-message-text{color:#a7bfce}#hoppieUnread{color:var(--green);font-size:14px}
#pilotPanel{padding:20px 28px}.session{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.status-group{display:flex;gap:15px;flex-wrap:wrap}.pill{font-size:12px;color:var(--muted)}.pill.online{color:var(--green)}.radios{display:grid;grid-template-columns:1fr 1fr .8fr;border:1px solid var(--line);margin-bottom:20px}.radio,.transponder{padding:14px 20px;background:var(--panel);border-right:1px solid var(--line)}.transponder{border:0}.radio.active{box-shadow:inset 0 2px var(--blue)}.panel-label{display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:1px}.light{font:11px Consolas,monospace;padding:3px 5px;color:#777;border:1px solid #494949;margin-left:5px}.light.on{color:var(--green);border-color:#527663}.light.live{color:#14281d;background:var(--green)}.frequency{font-size:38px;letter-spacing:2px;background:none;border:0;color:#c4d9e4;padding:7px 0;width:100%;text-align:left}.frequency:hover:not(:disabled){background:none;color:#fff}.frequency:disabled{opacity:.65}.radio-footer,.xpdr-actions{display:flex;justify-content:space-between;align-items:center;gap:8px}.radio-footer>span{font-size:10px;color:var(--muted)}.radio-footer button,.xpdr-actions button{font-size:12px;padding:5px 10px}.workspace{display:grid;grid-template-columns:270px minmax(300px,1fr);gap:22px}.panel{border:1px solid var(--line);background:var(--bg)}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}.panel-heading button{font-size:12px;padding:5px 9px}.panel-heading h2 span{color:var(--muted);font-size:12px}.controller-tools{padding:14px}.controller-tools label{display:flex;gap:8px;align-items:center;margin-top:10px;color:var(--muted);font-size:12px}#radius{width:75px;padding:4px}.inset{padding:0 14px}.controller-list{max-height:350px;overflow:auto}.controller-row{padding:13px 14px;border-top:1px solid var(--line)}.controller-row>div{display:flex;align-items:center;justify-content:space-between;gap:7px}.controller-row small{color:var(--muted);font-size:11px}.controller-row strong{font-size:13px}.controller-actions{margin-top:8px}.controller-actions button{font-size:11px;padding:4px 6px}.controller-frequency{font:15px Consolas,monospace;color:#a1c4d9}.empty{padding:30px 14px;color:var(--muted);font-size:13px;text-align:center}#receiveBoth{margin:12px;width:calc(100% - 24px);font-size:12px}.messages{display:flex;flex-direction:column;min-height:520px}.tabs{display:flex;gap:16px;padding:0 16px;border-bottom:1px solid var(--line)}.tabs button{border:0;border-radius:0;background:none;padding:10px 0;color:var(--muted);font-size:13px}.tabs button.selected{color:#fff;border-bottom:2px solid var(--blue)}.message-log{flex:1;min-height:230px;max-height:480px;padding:18px;overflow:auto}.message{font:14px/1.65 Consolas,'Microsoft YaHei',monospace;color:var(--green);white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:18px}.message .meta{display:flex;gap:10px;color:#999;font-size:12px}.message .meta strong{font-weight:400;color:#b1ccbc}.message.system{color:#aaa}.message.outgoing{color:#a7bfce}.welcome{color:var(--muted);text-align:center;padding:18px}.scope-symbol{font-size:42px}.welcome p{font-size:13px}.welcome small{font-size:12px}.feedback{font-size:12px;color:var(--muted);padding:8px 16px;background:#242424}.composer{border-top:1px solid var(--line);padding:14px}.composer-top{display:flex;gap:8px;align-items:center;margin-bottom:10px;flex-wrap:wrap}.composer-top label{display:flex;align-items:center;gap:8px;font-size:12px}.composer-top select{padding:5px;width:auto;font-size:12px}#recipient{width:140px;padding:5px}#aliasesButton{margin-left:auto;font-size:12px;padding:5px 8px}.composer-input{display:flex;gap:8px}.composer-input input{min-width:0}#aliasPreview{margin-top:6px}.utility{grid-column:1/-1}.quick{padding:18px;display:flex;gap:28px;align-items:center;flex-wrap:wrap}.quick label{font-size:12px;color:var(--muted)}.inline{display:flex;gap:8px}.inline input{max-width:160px}.quick a,.quick p{font-size:12px}.voice-page{padding:28px;min-height:calc(100dvh - 210px)}.voice{max-width:680px;margin:0 auto;text-align:center;padding-bottom:25px}.voice h3{margin:24px 0 8px}.voice>small{display:block;color:var(--muted);padding:0 20px}.voice p{font-size:13px;color:var(--muted);padding:0 24px}.tag{font:12px Consolas,monospace;color:var(--green)}.voice-controls{text-align:left;padding:14px 24px}.voice-controls label{display:block;color:var(--muted);font-size:13px;margin:9px 0}.voice-controls meter{width:100%;height:16px}.voice-controls input[type=range]{padding:0;accent-color:var(--blue)}.voice-controls button{width:100%;margin-top:20px}.ptt{width:calc(100% - 48px);padding:24px;margin:10px 24px 20px;touch-action:none;user-select:none;font-size:18px}.ptt.transmitting{background:var(--green);color:#10241a;border-color:var(--green)}.test-audio{font-size:13px}
dialog{color:var(--text);background:#282828;border:1px solid #555;border-radius:4px;width:min(540px,calc(100% - 32px));max-height:90dvh;padding:25px}dialog::backdrop{background:#000b}.dialog-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.dialog-heading h2{font-size:20px}.dialog-heading button{padding:0 8px;font-size:26px;border:0;background:none}dialog p{font-size:13px;line-height:1.8;color:var(--muted)}dialog label{display:block;font-size:13px;margin:12px 0 5px}dialog label input{margin-top:5px}.dialog-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:20px}dialog form>button.primary{margin-top:20px;width:100%}.check{display:flex!important;align-items:center;gap:8px}.file-label{padding:8px;border:1px solid var(--line);margin:0!important;cursor:pointer}code{color:#bed1de;font-size:12px}
@media(min-width:1500px){.hoppie-message-text{font-size:20px}.hoppie-log{padding-right:80px}.hoppie-forms{gap:80px}.workspace{grid-template-columns:310px minmax(300px,1fr)}}
@media(max-width:700px){header{height:64px;padding:0 18px}.brand strong{font-size:21px}h1{font-size:19px}.header-right{gap:12px}#settingsButton{font-size:28px}.mainnav button{font-size:19px;padding:14px 6px}.subnav button{font-size:18px;padding:12px 6px}.cpdlc-status{padding:10px 18px;font-size:16px}.cpdlc-status>span:last-child{font-size:13px}.hoppie-feedback{padding:9px 18px;font-size:12px}.pending-label{margin:8px 18px 26px;font-size:16px}.hoppie-log{padding:0 18px 25px}.hoppie-message-text{font-size:16px;line-height:1.65}.hoppie-page{min-height:calc(100dvh - 305px)}.hoppie-forms{grid-template-columns:1fr;gap:30px;padding:15px 18px}.hoppie-note{padding:0 18px 18px}.hoppie-compose{padding:0 18px 25px}.compose-address{gap:12px}.outbox-title{padding:16px 18px}footer{padding:15px 18px;font-size:10px}#pilotPanel{padding:16px 12px}.session{flex-wrap:wrap}.session>button{font-size:12px}.status-group{gap:8px 12px}.radios{grid-template-columns:1fr 1fr}.radio,.transponder{padding:12px}.transponder{grid-column:1/-1;border-top:1px solid var(--line);display:flex;align-items:center;gap:12px;flex-wrap:wrap}.transponder .frequency{width:auto;margin-left:auto}.transponder .panel-label{font-size:10px}.frequency{font-size:30px}.radio-footer{flex-wrap:wrap}.workspace{display:flex;flex-direction:column;gap:16px}.messages{order:-1;min-height:500px}.quick{gap:15px}.voice-page{padding:18px 12px}.composer-top label{flex-wrap:wrap}#utc{display:none}}

/* Compact vPilot console. Hoppie retains its own layout. */
#pilotPanel #settingsButton{font:14px/1.4 Consolas,'Microsoft YaHei',monospace;padding:4px 13px;border:1px solid #626262;color:#ddd}
body.pilot-view{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.pilot-view>header,.pilot-view footer{display:none}.pilot-view .mainnav{flex:none;height:30px;justify-content:flex-end;padding-right:8px}.pilot-view .mainnav button{flex:0 0 88px;padding:2px 12px;font:13px Consolas,monospace}.pilot-view .mainnav button::after{left:10%;right:10%}.pilot-view .demo{flex:none;font-size:11px;padding:2px 8px}.pilot-view main{display:flex;flex-direction:column;flex:1;width:100%;min-height:0;margin:0}#pilotPanel{display:flex;flex:1;min-height:0;flex-direction:column;padding:5px 7px 7px;font-family:Consolas,'SFMono-Regular','Microsoft YaHei',monospace}#pilotPanel button,#pilotPanel .toolbar-link{border-radius:0;border-color:#626262;background:#202020}#pilotPanel button:hover:not(:disabled),#pilotPanel .toolbar-link:hover{background:#333}#pilotPanel button:disabled{opacity:.5}.pilot-toolbar{display:flex;align-items:flex-start;gap:14px;flex:none;padding-bottom:5px}.pilot-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.pilot-actions button,.toolbar-link{font:14px/1.4 Consolas,'Microsoft YaHei',monospace;padding:4px 13px;white-space:nowrap;border:1px solid #626262;color:#ddd;text-decoration:none}.toolbar-link:hover{text-decoration:none}#pilotCallsign{font-size:16px;letter-spacing:1px;margin:6px auto;align-self:center}#modeC.on{background:#006e6e;color:#a4ffff}.compact-radios{margin-left:auto;flex:none}#pilotPanel .radio{display:flex;align-items:center;gap:5px;border:0;padding:0;background:none;font-size:13px;white-space:nowrap}#pilotPanel .radio.active{box-shadow:none}#pilotPanel .frequency{display:inline;width:auto;padding:0 3px;font:14px/1.4 Consolas,monospace;letter-spacing:0;border:0;background:none;color:#ddd}#pilotPanel .light{font:11px/1 Consolas,monospace;margin:0;padding:2px 6px;border:1px solid #585858;min-height:18px;background:none}#pilotPanel .light.on{color:#6fffff;border-color:#438080}#pilotPanel .light.live{background:#54d6b8;color:#071f17}.pilot-workspace{display:grid;grid-template-columns:minmax(200px,28%) minmax(0,1fr);gap:9px;min-height:0;flex:1}.classic-controllers{display:flex;flex-direction:column;min-height:0;min-width:0}.classic-controllers>h2{text-align:center;font:14px/1.6 Consolas,monospace;color:#bbb;margin-bottom:4px}.classic-controllers .controller-list{max-height:none;flex:1;overflow:auto;background:#000;border:1px solid #8a8a8a;padding:4px 8px}.controller-list section>h3{font:500 20px/1.5 'Segoe UI','Microsoft YaHei',sans-serif;color:#00ffff;margin:0 0 3px}.classic-controllers .controller-row{padding:4px 0 9px;border:0}.classic-controllers .controller-row strong{font-size:13px;color:#eee}.classic-controllers .controller-row small{font-size:10px;color:#888}.classic-controllers .controller-actions{justify-content:flex-start;gap:8px;margin-top:3px}.classic-controllers .controller-actions button{border:0!important;background:none!important;color:#b0d6db;padding:0;font:12px Consolas,monospace}.classic-controllers .controller-actions button:hover{color:#fff;text-decoration:underline}.classic-messages{display:flex;flex-direction:column;min-height:0;min-width:0}.conversation-tabs{display:flex;align-items:stretch;flex:none;overflow-x:auto;min-height:29px;scrollbar-width:thin;gap:0;padding-left:3px}.conversation-tabs button{font:14px/1.4 Consolas,monospace;min-width:104px;padding:3px 16px!important;border:1px solid #747474!important;border-radius:5px 5px 0 0!important;flex-shrink:0;white-space:nowrap}.conversation-tabs button.selected{background:#000!important;color:#fff;border-bottom-color:#000!important}.conversation-tabs button.unread{color:#00ffff}.classic-messages .message-log{background:#000;border:1px solid #777;margin-top:-1px;flex:1;min-height:0;max-height:none;overflow:auto;padding:7px 8px;scrollbar-width:thin}.classic-messages .message{font:16px/1.4 Consolas,'SFMono-Regular','Microsoft YaHei',monospace;color:#eee;white-space:pre-wrap;margin-bottom:6px}.classic-messages .message.system{color:#ffff00}.classic-messages .message.private,.classic-messages .message.direct{color:#00ffff}.classic-messages .message .meta{display:inline;color:inherit;font:inherit;margin:0}.classic-messages .message .meta strong{font:inherit;color:inherit;margin:0 7px}.classic-messages .message>div:last-child{display:inline}.classic-messages .message.outgoing{color:#a9d3b4}.classic-composer{display:flex;gap:3px;margin-top:5px;flex:none;min-width:0}.classic-composer input,.classic-composer select,.classic-composer button{background:#000!important;color:#eee;font:14px/1.4 Consolas,monospace;border:1px solid #777!important;border-radius:0;padding:5px;min-width:0}.classic-composer #messageInput{flex:1;width:0}.classic-composer #recipient{width:110px}.classic-composer #destination{width:64px}.classic-composer #sendMessage{width:40px;flex:none}.classic-messages #aliasPreview:empty{display:none}.classic-messages #aliasPreview{font-size:11px;margin:2px 0}#notes{flex:1;min-height:0;background:#000;color:#eee;border:1px solid #777;border-radius:0;padding:10px;font:16px/1.5 Consolas,monospace;resize:none}.pilot-view .feedback{background:none;padding:3px 1px;font:11px/1.4 Consolas,'Microsoft YaHei',monospace;min-height:21px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;flex:none}.ptt-dock{display:flex;align-items:center;gap:18px;flex:none;padding-top:3px}.ptt-dock>span{font:12px Consolas,'Microsoft YaHei',monospace;color:#999;flex:1}.ptt-dock .ptt{width:260px;min-height:48px;margin:0;padding:10px 20px;font:16px Consolas,'Microsoft YaHei',monospace;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}#pilotPanel .ptt.transmitting{background:#007e6c;color:#fff;border-color:#63ebce}#settings{width:min(670px,calc(100% - 24px))}.settings-section{margin-top:24px;border-top:1px solid #444;padding-top:18px}.settings-section h2{margin-bottom:12px}.settings-section .status-group{gap:8px 16px}.settings-section .form-actions{justify-content:flex-start}#settings .voice{margin-top:24px}.settings-section #receiveBoth{margin:0;width:auto}
@media(max-width:900px){.pilot-toolbar{flex-wrap:wrap;gap:5px 14px}.pilot-actions{flex:1}.pilot-actions button,.toolbar-link{padding:5px 9px}#pilotCallsign{font-size:14px;margin:0}.compact-radios{display:flex;gap:16px;width:100%;justify-content:flex-end}.pilot-workspace{grid-template-columns:minmax(150px,27%) minmax(0,1fr)}.controller-list section>h3{font-size:17px}.classic-messages .message{font-size:14px}}
@media(max-width:520px){#pilotPanel{padding:4px}.pilot-actions{gap:4px;flex-wrap:nowrap;flex:1 1 100%}.pilot-actions button,.toolbar-link{font-size:12px;padding:7px 6px;flex:1;text-align:center}.pilot-toolbar{gap:6px;padding-bottom:5px}#pilotCallsign{font-size:12px}.compact-radios{width:auto;display:block;gap:0}#pilotPanel .frequency{font-size:13px}#pilotPanel .radio{font-size:12px;gap:4px}#pilotPanel .light{padding:3px 7px;min-height:22px}.pilot-workspace{grid-template-columns:116px minmax(0,1fr);gap:5px}.classic-controllers>h2{font-size:10px;line-height:29px;margin:0;white-space:nowrap}.classic-controllers .controller-list{padding:4px}.controller-list section>h3{font-size:13px;line-height:1.5;overflow-wrap:anywhere;margin-bottom:5px}.classic-controllers .controller-row>div{flex-wrap:wrap;gap:2px}.classic-controllers .controller-row strong{font-size:11px}.classic-controllers .controller-row small{font-size:9px}.classic-controllers .controller-actions button{font-size:11px;padding:5px 0}.conversation-tabs button{min-width:80px;font-size:12px;padding:5px 10px!important}.classic-messages .message-log{padding:6px}.classic-messages .message{font-size:13px;overflow-wrap:anywhere}.classic-composer{flex-wrap:wrap}.classic-composer #messageInput{min-width:70px;padding:9px 5px;font-size:16px}.classic-composer #destination{width:49px;font-size:11px;padding:4px 0}.classic-composer #recipient{width:100%;font-size:14px}.classic-composer #sendMessage{width:30px}.ptt-dock{display:flex;flex-direction:column;gap:4px;padding-bottom:env(safe-area-inset-bottom)}.ptt-dock>span{font-size:11px}.ptt-dock .ptt{width:100%;min-height:56px;font-size:17px}.pilot-view .feedback{font-size:10px}#notes{font-size:16px;padding:7px}.pilot-view .mainnav{height:27px}.pilot-view .mainnav button{font-size:12px}.pilot-view .demo{font-size:10px}}

@media(max-width:520px){#pilotPanel #settingsButton{font-size:12px;padding:7px 6px}}

@media(max-width:520px){.controller-list section>h3{overflow-wrap:anywhere}}

.classic-controllers .controller-row{cursor:pointer;touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.classic-controllers .controller-row:hover,.classic-controllers .controller-row:focus-visible{background:#183838;outline:1px solid #428888}
.classic-controllers .controller-frequency{font:12px Consolas,monospace;color:#b0d6db}
#controllerMenu{position:fixed;inset:auto;margin:0;padding:5px;width:210px;max-width:calc(100vw - 16px);background:#202020;border:1px solid #999;border-radius:0;box-shadow:3px 4px 12px #0009;font:14px Consolas,'Microsoft YaHei',monospace}
#controllerMenu::backdrop{background:transparent}
.controller-menu-heading{display:flex;flex-direction:column;gap:3px;padding:8px;color:#00ffff;border-bottom:1px solid #555;margin-bottom:3px}.controller-menu-heading small{color:#bbb}
#controllerMenu button{display:block;text-align:left;width:100%;min-height:42px;padding:8px;border:0;border-radius:0;background:none;font:inherit}
#controllerMenu button:hover:not(:disabled),#controllerMenu button:focus-visible{background:#075b65;color:#fff}
#controllerMenu button:last-child{border-top:1px solid #555;color:#aaa}
#atcInfoDialog{background:#202020;border:1px solid #888;border-radius:0;font-family:Consolas,'Microsoft YaHei',monospace}
#atcInfoText{background:#000;border:1px solid #777;color:#00ffff;white-space:pre-wrap;overflow-wrap:anywhere;padding:12px;min-height:100px;max-height:60dvh;overflow:auto;font:14px/1.6 Consolas,'Microsoft YaHei',monospace}

.message-alert{display:flex;align-items:center;gap:6px;background:#11343c;border:1px solid #40848a;padding:5px 8px;flex:none;max-height:100px}.message-alert button{background:none;border:0;border-radius:0;color:#b9ffff;font:13px/1.5 Consolas,'Microsoft YaHei',monospace;padding:2px 5px}.message-alert #messageAlertOpen{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;text-align:left;white-space:nowrap}.message-alert #messageAlertClose{flex:none;min-width:32px;font-size:20px}#messageAlertSettings .form-actions button{font-size:12px}#alertVolume{padding:0}

/* Native-style Connect sheet. */
#connectDialog{color-scheme:light;width:min(585px,calc(100% - 24px));padding:0;background:#efefef;color:#222;border:2px solid #666;border-radius:11px;box-shadow:0 12px 45px #0008;overflow:hidden}#connectDialog .connect-titlebar{padding:5px 7px;background:#f7f3f3}#connectTitle{font:18px/1.5 'Segoe UI',sans-serif;margin:0}#connectForm{padding:28px 76px 20px}.connect-fields{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:11px}#connectDialog .connect-fields label{font:16px/1.4 Consolas,'Microsoft YaHei',monospace;margin:0;color:#444;white-space:nowrap}#connectDialog input:not([type=checkbox]){margin:3px 0 0;background:#fff;color:#222;border:1px solid #ddd;border-radius:0;padding:3px;font:16px/1.4 Consolas,monospace;min-width:0;width:100%;height:31px}#connectDialog input:focus{outline:1px solid #168fff;border-color:#168fff}#connectDialog .connect-observer{display:flex;align-items:flex-start;gap:7px;margin:5px 0 12px;font:15px/1.35 Consolas,'Microsoft YaHei',monospace;white-space:nowrap}#connectDialog .connect-observer input{appearance:auto;width:17px;height:17px;margin:2px 0 0;flex:none;accent-color:#168fff}.connect-buttons{display:grid;grid-template-columns:3.2fr 1fr;gap:12px}#connectDialog .connect-buttons button{background:#fafafa;border:1px solid #c6c6c6;color:#333;border-radius:5px;padding:2px 10px;min-height:29px;font:16px/1.4 Consolas,monospace}#connectDialog .connect-buttons .connect-submit{border:2px solid #269aff;padding:1px 10px}#connectDialog .connect-buttons button:hover{background:#e4f0fc}#connectDialog .connect-buttons button:focus-visible{outline:2px solid #168fff;outline-offset:2px}@media(max-width:600px){#connectForm{padding:24px 28px 20px}#connectDialog .connect-observer{white-space:normal;font-size:14px}}@media(max-width:420px){#connectForm{padding:20px}.connect-fields{grid-template-columns:1fr 1fr}.connect-fields label:last-child{grid-column:1/-1;max-width:calc(50% - 6px)}#connectDialog .connect-fields label{font-size:14px}#connectDialog .connect-observer{margin:12px 0 16px;font-size:13px}#connectDialog .connect-buttons button{min-height:40px}}

#connectDialog .connect-fields label{min-width:0}#connectDialog .connect-fields input{display:block}

#connectHostNotice{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 12px;font:12px/1.5 'Segoe UI','Microsoft YaHei',sans-serif;color:#555}#connectHostSettings{background:none;border:0;border-radius:0;color:#006ab5;font:inherit;padding:4px 0;white-space:nowrap;text-decoration:underline}#connectHostSettings:hover{background:none;color:#004e86}#connectDialog .connect-buttons button:disabled{opacity:.45;cursor:not-allowed}

.pair-memory{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px}.pair-memory button{font-size:12px;padding:5px 10px}.shortcut-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.shortcut-row input{min-width:80px;flex:1}.voice-controls .shortcut-row button{width:auto;flex:none;margin:0;font-size:12px}.voice-controls #pttShortcutHint,.voice-controls #pttShortcutStatus{font-size:12px;color:var(--muted);display:block;margin-top:6px}#listenPttShortcut[aria-pressed=true]{border-color:#00ffff;color:#00ffff;background:#123939}

/* CPDLC uses the same compact console and black message surface as vPilot. */
#hoppiePanel{display:flex;flex:1;min-height:0;flex-direction:column;padding:5px 7px 7px;font:14px/1.5 Consolas,'Microsoft YaHei',monospace}
#hoppiePanel button,#hoppiePanel input,#hoppiePanel select,#hoppiePanel textarea{border-radius:0;font:inherit}
#hoppiePanel button{background:#202020;border:1px solid #626262;color:#ddd;padding:5px 12px}
#hoppiePanel button:hover:not(:disabled){background:#333}
#hoppiePanel input,#hoppiePanel select,#hoppiePanel textarea{background:#000;border-color:#777;color:#eee}
#hoppiePanel .cpdlc-status{font:inherit;padding:2px 0 9px;border:0;background:none;align-items:center;flex-wrap:wrap;gap:6px 14px}
#cpdlcStatus{color:#00ffff}#hoppiePanel #hoppieLink{font-size:12px;margin-left:auto;color:#aaa}
#hoppiePanel .subnav{background:none;border:0;gap:0;padding-left:3px;flex:none}
#hoppiePanel .subnav button{flex:none;min-width:110px;padding:3px 16px;border-radius:5px 5px 0 0;border-color:#777}
#hoppiePanel .subnav button::after{display:none}
#hoppiePanel .subnav button.selected{background:#000;border-bottom-color:#000;color:#fff}
#hoppiePanel .hoppie-feedback{padding:5px 8px;font:12px/1.5 Consolas,'Microsoft YaHei',monospace;min-height:28px;order:3}
#hoppiePanel .hoppie-page{flex:1;min-height:0;overflow:auto;background:#000;border:1px solid #777;scrollbar-width:thin}
#hoppiePanel .hoppie-log{padding:8px 10px}
#hoppiePanel .pending-label{font-size:13px;margin:9px 10px;color:#ffff00}
#hoppiePanel .hoppie-message{margin:0 0 17px;color:#00ffff}
#hoppiePanel .hoppie-message-text{font-size:15px;line-height:1.5}
#hoppiePanel .outgoing .hoppie-message-text{color:#a9d3b4}
#hoppiePanel .reply-actions{gap:7px;margin-top:5px}
#hoppiePanel .reply-actions button{min-height:32px;color:#00ffff}
#hoppiePanel .hoppie-forms{max-width:none;padding:12px;gap:28px}
#hoppiePanel h2,#hoppiePanel legend{font:15px Consolas,'Microsoft YaHei',monospace;color:#00ffff}
#hoppiePanel .hoppie-forms label,#hoppiePanel .hoppie-compose label{font-size:13px;margin-top:10px}
#hoppiePanel .hoppie-compose{max-width:none;padding:8px 12px 16px}
#hoppiePanel .compose-address{max-width:700px}
#hoppiePanel .form-actions{margin-top:12px}
#hoppiePanel .outbox-title{padding:12px}
#cpdlcRequestBuilder{border:1px solid #555;margin:15px 0 0;padding:8px 12px 12px;min-width:0}
.request-fields{display:grid;grid-template-columns:2fr 1fr 1.3fr;gap:12px}.request-fields label{min-width:0}
#cpdlcDraftStatus{display:block;color:#ffff00;margin-top:8px}
#pdcRequestBuilder{border:1px solid #555;margin:15px 0 0;padding:8px 12px 12px;min-width:0}#pdcDraftStatus{display:block;color:#ffff00;margin-top:8px}
#settings{width:min(680px,calc(100% - 24px));padding:0;border-radius:2px;background:#222;overflow:hidden;font-size:14px}
#settings[open]{display:flex;flex-direction:column;height:min(650px,90dvh)}
.settings-heading{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid #555;flex:none}
.settings-heading h2{font:18px Consolas,'Microsoft YaHei',monospace}.settings-heading button{background:none;border:0;font-size:24px;padding:0 6px;line-height:1.2}
.settings-nav{display:flex;flex:none;background:#202020;border-bottom:1px solid #666;padding:8px 12px 0;gap:3px}
.settings-nav button{flex:1;border-radius:3px 3px 0 0;background:#292929;padding:7px 8px;border-bottom:0;white-space:nowrap;font-size:13px}
.settings-nav button[aria-pressed=true]{background:#0d0d0d;color:#00ffff;border-color:#888;box-shadow:inset 0 2px #008e9a}
.settings-content{overflow:auto;min-height:0;flex:1;padding:18px 22px;scrollbar-width:thin}
#settings .settings-content h3{font-size:14px;color:#ccc;margin:0;font-weight:600}
#settings label{display:block;margin:13px 0 6px;font-size:13px;color:#ccc}
#settings label.check{display:flex;align-items:center;gap:8px;margin:12px 0}
#settings input:not([type=checkbox]):not([type=range]){padding:8px 10px;background:#111;font-size:14px}
#settings input[type=range]{padding:0;accent-color:#00a9b5;margin:4px 0 9px}
#settings meter{width:100%;height:16px}
#settings .settings-status{border-bottom:1px solid #3d3d3d;padding-bottom:14px;gap:5px 16px}
#settings .settings-hint{font-size:12px;margin:6px 0;color:#999;line-height:1.65}
.settings-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px}
.settings-actions button{padding:7px 11px;font-size:13px}
.settings-block{border-top:1px solid #3d3d3d;margin-top:20px;padding-top:16px}
.settings-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
#settings .voice-controls{padding:16px 0 0}
#settings .voice-controls .shortcut-row button{width:auto;margin:0;padding:7px 10px}
#settings .settings-details{margin-top:20px;border-top:1px solid #3d3d3d;padding-top:14px;color:#999;font-size:12px}
.settings-details summary{cursor:pointer;color:#aaa}.settings-details button{font-size:12px;padding:6px 10px}
#settings .settings-footer{margin:0;padding:9px 18px;border-top:1px solid #444;background:#1c1c1c;white-space:normal;min-height:35px;font-size:12px}
.settings-sounds{margin-top:14px;border:1px solid #444;background:#191919}
.settings-sounds>div{display:grid;grid-template-columns:1.2fr 1fr auto;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid #333}
.settings-sounds>div:last-child{border-bottom:0}.settings-sounds small{color:#999;font-size:12px}.settings-sounds button{font-size:12px;padding:4px 12px}
#settings #radius{width:110px}#settings #receiveBoth{width:auto;margin:0}#settings #aliasesButton{margin:0}
@media(max-width:520px){#settings[open]{height:90dvh}.settings-content{padding:14px}.settings-nav{padding:7px 7px 0;gap:2px}.settings-nav button{font-size:12px;padding:9px 4px}#settings input:not([type=checkbox]):not([type=range]){font-size:16px}.settings-sounds>div{grid-template-columns:1fr auto;gap:2px 8px}.settings-sounds small{grid-column:1;grid-row:2}.settings-sounds button{grid-column:2;grid-row:1/3;min-height:36px}.settings-heading{padding:11px 14px}}
@media(max-width:600px){#hoppiePanel{padding:4px}.request-fields{grid-template-columns:1fr 1fr}.request-fields label:first-child{grid-column:1/-1}#hoppiePanel .hoppie-forms{grid-template-columns:1fr;gap:20px}#hoppiePanel .subnav button{min-width:0;flex:1}#hoppiePanel input,#hoppiePanel select,#hoppiePanel textarea{font-size:16px}#hoppiePanel .hoppie-message-text{font-size:14px}#hoppiePanel .reply-actions button{min-height:40px}}
