*{box-sizing:border-box}body{margin:0;background:#07111c;color:#dbe8f5;font:15px system-ui,Segoe UI,sans-serif}header{display:flex;justify-content:space-between;align-items:center;padding:18px 28px;background:linear-gradient(100deg,#0d2941,#26184c);border-bottom:1px solid #29506e}h1{margin:0;color:#fff;font-size:25px}header p{margin:4px 0 0;color:#9ec5df}main{max-width:1320px;margin:auto;padding:18px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.panel{background:#0d1c2b;border:1px solid #203d55;border-radius:12px;padding:16px;box-shadow:0 10px 25px #0003}.setup,.operating,.log,.stats{grid-column:1/-1}h2{font-size:15px;text-transform:uppercase;letter-spacing:.08em;color:#7fd6ff;margin:0 0 12px}.grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}label{display:flex;flex-direction:column;gap:5px;color:#9fb7c9;font-size:12px}input,select,button{background:#07131f;color:#eef8ff;border:1px solid #31516a;border-radius:7px;padding:9px;font:inherit}input:focus{outline:2px solid #28b8ee;border-color:transparent}button{cursor:pointer;font-weight:650}button:hover{background:#15334a}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:#087da9;border-color:#27c5ff}.badge{background:#143850;padding:7px 12px;border-radius:20px;color:#8fe5ff}.checks,.hardwareRow,.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:12px}.checks label,.hardwareRow label{flex-direction:row;align-items:center}.sliders{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sliders input{padding:0}.sliders output{float:right;color:#fff}.meter{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:14px}.meter div{background:#07131f;border:1px solid #25445b;border-radius:8px;padding:9px;text-align:center}.meter span{display:block;color:#718fa5;font-size:11px}.meter strong{font-size:23px;color:#8ee8ff}.entry{display:grid;grid-template-columns:2fr 1fr auto;gap:10px;align-items:end}.entry input{font:700 26px ui-monospace,monospace;text-transform:uppercase}.keys{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin:14px 0}.keys button{font-size:12px;padding:8px 4px}.hint{background:#102a3d;border-left:4px solid #29bdec;padding:9px;margin-top:12px}.small,footer{color:#7f99ad;font-size:12px}.logwrap{max-height:260px;overflow:auto}table{width:100%;border-collapse:collapse;font-family:ui-monospace,monospace}th,td{text-align:left;padding:7px;border-bottom:1px solid #1d3548}th{position:sticky;top:0;background:#0d1c2b;color:#77ccee}.ok{color:#6effa9}.bad{color:#ff7f7f}footer{text-align:center;padding:20px}@media(max-width:850px){main{display:block}.panel{margin:10px}.grid{grid-template-columns:1fr 1fr}.meter{grid-template-columns:repeat(2,1fr)}.keys{grid-template-columns:repeat(3,1fr)}.entry{grid-template-columns:1fr}.noise{margin-top:10px}}
.headerBadges{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}h1 small{font-size:.5em;color:#7fd6ff}.archive{grid-column:1/-1}.grow{flex:1;min-width:320px}.fileButton{display:inline-flex;flex-direction:row;align-items:center;background:#07131f;border:1px solid #31516a;border-radius:7px;padding:9px;color:#eef8ff;font-weight:650;cursor:pointer}.fileButton input{display:none}.touchbar{display:none}@media(pointer:coarse),(max-width:700px){body{font-size:16px}header{padding:12px;align-items:flex-start;gap:10px}.headerBadges{justify-content:flex-start}.panel{padding:12px}.entry input{font-size:28px;min-height:58px}.keys button,.actions button{min-height:48px}.keys{grid-template-columns:repeat(2,1fr)}.actions{display:grid;grid-template-columns:1fr 1fr}.actions button{width:100%}.sliders{grid-template-columns:1fr}.grid{grid-template-columns:1fr 1fr}.grow{min-width:100%}.hardwareRow>*{min-height:44px}.badge{font-size:11px}.logwrap{overflow-x:auto}table{min-width:650px}}@media(max-width:430px){.grid,.meter,.actions{grid-template-columns:1fr}.keys{grid-template-columns:1fr 1fr}h1{font-size:20px}header{display:block}.headerBadges{margin-top:8px}}
.keys button.nextAction{background:#087da9;border-color:#6ee7ff;box-shadow:0 0 0 2px #35cfff55;color:white}.esmState{color:#7fd6ff;font-weight:700}
.langSelect,.compactBtn{padding:7px 10px;min-height:34px}.compactBtn{font-size:12px}dialog{width:min(680px,calc(100vw - 24px));max-height:85vh;overflow:auto;background:#0d1c2b;color:#dbe8f5;border:1px solid #31516a;border-radius:12px;box-shadow:0 20px 60px #000a;padding:18px}dialog::backdrop{background:#02070dbb}.dialogHead{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.dialogHead h2{margin:0}.dialogHead button{font-size:24px;padding:2px 10px}.dialogHead+*{margin-top:0}#helpContent{line-height:1.55}#helpContent h3{color:#7fd6ff;margin-bottom:4px}@media(max-width:700px){dialog{width:calc(100vw - 12px);padding:12px}.headerBadges .compactBtn,.headerBadges .langSelect{min-height:40px}.hardwareRow{display:grid;grid-template-columns:1fr}.hardwareRow label{flex-direction:row}}
#winkeyerDialog:not([open]){display:none}.fieldActive{box-shadow:0 0 0 2px #39cfff88}

.qsoFeedback{margin:10px 0;padding:11px 14px;border-radius:8px;border:1px solid #31516a;font-weight:750;letter-spacing:.02em}.qsoFeedback.neutral{background:#091724;color:#9fb7c9}.qsoFeedback.success{background:#0c3828;border-color:#29bf79;color:#8fffc1}.qsoFeedback.error{background:#421d24;border-color:#e85d72;color:#ffb3bd}.qsoFeedback.partial{background:#3b3212;border-color:#c7a42d;color:#ffe28a}.keys{margin-top:6px;margin-bottom:14px}

.debugToggle{padding:7px 10px;border:1px dashed #58728a;border-radius:7px}.debugOnly[hidden]{display:none!important}

.helpButton{padding:7px 11px;min-height:34px;background:#15334a;color:#bfe9ff;border:1px solid #3d6e8c;font-weight:700}.helpButton:hover{background:#1c435f;color:#fff}.f74Toggle{padding:7px 10px;border:1px solid #31516a;border-radius:7px;background:#0a1724}

.leaderboardActions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px}.leaderboardActions span{color:#91aabe;font-size:12px}#leaderboardDialog{width:min(850px,calc(100vw - 24px))}

/* v2.3 responsive controls */
.noise{grid-column:1/-1}.sliders{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;width:100%}.sliders label{min-width:0;background:#091724;border:1px solid #203d55;border-radius:8px;padding:10px}.sliders input[type=range]{width:100%;min-width:0}.setup input[type=number]#pitch{width:100%}.changelog{line-height:1.5}.changelog h3{color:#7fd6ff;margin:18px 0 5px}.changelog h3:first-child{margin-top:0}@media(max-width:520px){.sliders{grid-template-columns:1fr}}

.germanOnlyToggle{padding:7px 10px;border:1px solid #31516a;border-radius:7px;background:#0a1724}

.callerInfo{margin:10px 0 0;padding:9px 12px;border:1px solid #31516a;border-radius:8px;background:#0a1724;color:#8ee8ff;font-weight:750}.callerInfo.empty{color:#aab7c2}.callerInfo.busy{color:#8fffc1}

.callerInfo.compact{display:inline-flex;width:auto;min-width:0;margin:8px 0 6px;padding:4px 9px;border-radius:999px;font-size:12px;line-height:1.2;align-items:center;justify-self:start}.operating .callerInfo.compact.busy{background:#0c3828;border-color:#277955}.operating .callerInfo.compact.empty{background:#091724}

.timeUpBanner{margin:0 0 14px;padding:16px;text-align:center;border:2px solid #ffcc4d;border-radius:10px;background:#4a3109;color:#fff0b3;font-size:21px;font-weight:900;letter-spacing:.08em;animation:timePulse 1.1s ease-in-out 3}.timeUpBanner[hidden]{display:none}.meter.timeExpired div:first-child{border-color:#ffcc4d;background:#4a3109}.meter.timeExpired #clock{color:#fff0b3}.badge.timeExpired{background:#7a2d23;color:#fff;border-color:#ff8877}@keyframes timePulse{0%,100%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.01);filter:brightness(1.3)}}@media(max-width:520px){.timeUpBanner{font-size:16px;padding:12px;letter-spacing:.04em}}

.versionLink,.titleVersionLink{cursor:pointer}.versionLink{font:inherit}.versionLink:hover{background:#20516f;color:#fff}.titleVersionLink{appearance:none;border:0;background:transparent;color:#7fd6ff;padding:0;font:inherit;font-weight:800}.titleVersionLink:hover{text-decoration:underline}.timeUpBanner{cursor:pointer;user-select:none}.timeUpBanner:hover{filter:brightness(1.18)}.timeUpBanner:focus{outline:3px solid #fff0b3;outline-offset:2px}.releaseNotice{padding:10px 12px;border-left:4px solid #69d6ff;background:#102a3d;color:#cceeff}

/* v3.0.2 collapsible and compact layout */
.panel>h2{display:flex;align-items:center;justify-content:space-between;gap:10px}.panelToggle{min-width:30px;height:28px;padding:0 8px;border:1px solid #31516a;border-radius:6px;background:#0a1724;color:#bfeaff;font-size:18px;line-height:1;cursor:pointer}.panelToggle:hover{background:#16334a}.panel.collapsed .panelBody{display:none}.panel.collapsed>h2{margin-bottom:0}.headerToggle{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid #31516a;border-radius:7px;background:#0a1724;color:#c9dbea;font-size:12px;white-space:nowrap}
body.compact-layout header{padding-top:9px;padding-bottom:9px}body.compact-layout header p{display:none}body.compact-layout main{gap:8px;padding-top:8px}body.compact-layout .panel{padding:10px}body.compact-layout .panel h2{font-size:15px;margin:0 0 8px}body.compact-layout .grid{gap:7px}body.compact-layout label{font-size:12px}body.compact-layout input,body.compact-layout select,body.compact-layout button{min-height:30px}body.compact-layout .meter{gap:6px;margin-bottom:8px}body.compact-layout .meter>div{padding:6px 8px}body.compact-layout .meter strong{font-size:18px}body.compact-layout .functionKeys{gap:5px}body.compact-layout .functionKeys button{padding:6px 7px;font-size:11px}body.compact-layout table{font-size:12px}body.compact-layout th,body.compact-layout td{padding:5px 6px}body.compact-layout .callerInfo.compact{margin:4px 0;padding:3px 7px}
@media(max-width:760px){.headerToggle{font-size:11px;padding:4px 6px}}

/* v3.0.4 settings panel and narrower mobile meter */
.settingsChecks{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.settingsChecks>label,.settingsChecks>.settingToggle{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid #31516a;border-radius:7px;background:#0a1724}.settingsChecks select{width:auto;min-width:110px}.settings .panelBody{padding-top:2px}
body.compact-layout .settingsChecks{gap:5px}body.compact-layout .settingsChecks>label,body.compact-layout .settingsChecks>.settingToggle{padding:4px 7px}
@media(max-width:520px){body.compact-layout .meter{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}body.compact-layout .meter>div{min-width:0;padding:4px 3px;border-radius:6px}body.compact-layout .meter span{font-size:8px;line-height:1.05;letter-spacing:0}body.compact-layout .meter strong{font-size:14px;line-height:1.05}body.compact-layout .settingsChecks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}body.compact-layout .settingsChecks>label,body.compact-layout .settingsChecks>.settingToggle{min-width:0;font-size:11px;padding:4px 5px}body.compact-layout .settingsChecks select{min-width:0;width:100%;font-size:11px}}
@media(max-width:360px){body.compact-layout .meter{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v3.0.5 full-width settings and logging order */
.settings{grid-column:1/-1;width:100%}.operating>h2{margin-bottom:10px}.operating>.actions{margin:0 0 10px}.operating>.meter{margin-bottom:10px}.operating>.keys{margin-top:12px;margin-bottom:0}.operating>.qsoFeedback{margin-top:10px}.operating>.hint{margin-top:8px}
body.compact-layout .operating>.actions{margin-bottom:6px}body.compact-layout .operating>.meter{margin-bottom:6px}body.compact-layout .operating>.keys{margin-top:7px}

/* v3.0.6 clickable headings and color schemes */
.panel[data-collapsible=true]>h2{cursor:pointer;user-select:none;border-radius:6px;padding:3px 4px;margin-left:-4px;margin-right:-4px}.panel[data-collapsible=true]>h2:hover{background:rgba(127,214,255,.07)}.panel[data-collapsible=true]>h2:focus-visible{outline:2px solid #6dd8ff;outline-offset:2px}.themeSetting{display:inline-flex;align-items:center;gap:7px}.themeSetting select{min-width:105px}
body.theme-dark{background:#07111c;color:#dbe8f5}body.theme-dark header{background:linear-gradient(100deg,#0d2941,#26184c)}
body.theme-gray{background:#25282c;color:#e4e7ea}body.theme-gray header{background:linear-gradient(100deg,#373c42,#202327);border-color:#5a6168}body.theme-gray .panel,body.theme-gray dialog{background:#34383d;border-color:#5a6168}body.theme-gray input,body.theme-gray select,body.theme-gray button,body.theme-gray .meter div,body.theme-gray .settingsChecks>label{background:#272a2e;border-color:#676e75;color:#f1f3f4}body.theme-gray h2,body.theme-gray #helpContent h3,body.theme-gray .changelog h3{color:#cbd2d8}
body.theme-matrix{background:#020b05;color:#8aff9e}body.theme-matrix header{background:linear-gradient(100deg,#031b0a,#071109);border-color:#126c31}body.theme-matrix .panel,body.theme-matrix dialog{background:#06150b;border-color:#126c31;box-shadow:0 10px 25px #00ff4020}body.theme-matrix input,body.theme-matrix select,body.theme-matrix button,body.theme-matrix .meter div,body.theme-matrix .settingsChecks>label,body.theme-matrix .callerInfo{background:#020b05;border-color:#198c3f;color:#a4ffb3}body.theme-matrix h1,body.theme-matrix h2,body.theme-matrix #helpContent h3,body.theme-matrix .changelog h3,body.theme-matrix .meter strong{color:#39ff68}body.theme-matrix .badge{background:#0a3518;color:#74ff91}
body.theme-white{background:#eef2f5;color:#1b2630}body.theme-white header{background:linear-gradient(100deg,#f8fafb,#dce7ef);border-color:#aebec9}body.theme-white h1{color:#14232e}body.theme-white header p,body.theme-white .appMeta{color:#4c6474}body.theme-white .panel,body.theme-white dialog{background:#fff;color:#1b2630;border-color:#bccbd5;box-shadow:0 8px 20px #47687918}body.theme-white input,body.theme-white select,body.theme-white button,body.theme-white .meter div,body.theme-white .settingsChecks>label,body.theme-white .callerInfo{background:#f6f9fb;color:#14232e;border-color:#aebec9}body.theme-white h2,body.theme-white #helpContent h3,body.theme-white .changelog h3,body.theme-white .meter strong{color:#00658c}body.theme-white label,body.theme-white .meter span,body.theme-white .small{color:#455e6e}body.theme-white .qsoFeedback.neutral,body.theme-white .hint{background:#e8f1f6;color:#213b49}body.theme-white .badge{background:#d9edf6;color:#005471}
body.theme-forest{background:#0b1711;color:#d9eadf}body.theme-forest header{background:linear-gradient(100deg,#123824,#172c20);border-color:#3d7154}body.theme-forest .panel,body.theme-forest dialog{background:#14261b;border-color:#365f47}body.theme-forest input,body.theme-forest select,body.theme-forest button,body.theme-forest .meter div,body.theme-forest .settingsChecks>label,body.theme-forest .callerInfo{background:#0d1b13;border-color:#47765a;color:#e4f2e8}body.theme-forest h2,body.theme-forest #helpContent h3,body.theme-forest .changelog h3,body.theme-forest .meter strong{color:#75d99a}body.theme-forest .badge{background:#214b32;color:#9cedb9}
