:root{--primary:#ffb74d;--primary-dim:color-mix(in srgb, var(--primary) 75%, transparent);--secondary:#90caf9;--background:#0b1a33;--surface:#0b1a33;--surface-variant:#1a2e50;--surface-container-lowest:#081429;--surface-container-low:#0f2140;--surface-container:#132646;--surface-container-high:#172b4d;--surface-container-highest:#1b3054;--on-background:#e6e6e6;--on-surface:#e6e6e6;--on-surface-variant:#c4c6d0;--error:#f2b8b5;--outline:#8e9099;--outline-variant:#44474f;--on-primary:#0b1a33;--disabled-fill:color-mix(in srgb, var(--on-surface) 12%, transparent);--disabled-text:color-mix(in srgb, var(--on-surface) 38%, transparent);--band-50:#e040fb;--band-144:#ff5252;--band-222:#ffab40;--band-432:#40c4ff;--band-902:#b2ff59;--band-23cm:#00e676;--band-13cm:#ff80ab;--band-9cm:#18ffff;--band-6cm:#ffd180;--band-3cm:#b388ff;--band-1cm:#fff}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--background);color:var(--on-surface);font-family:Roboto,system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px}#app{flex-direction:column;min-height:100%;display:flex}.topbar{min-height:64px;padding:env(safe-area-inset-top) calc(4px + env(safe-area-inset-right)) 0 calc(4px + env(safe-area-inset-left));background:var(--surface);align-items:center;display:flex}.topbar h1{flex:1;align-items:baseline;margin:0 0 0 12px;font-size:22px;font-weight:400;display:flex}.topbar .version{color:var(--on-surface-variant);margin-left:8px;font-size:11px}.icon-button{width:48px;height:48px;color:var(--on-surface);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.icon-button:hover{background:var(--disabled-fill)}.icon-button svg{fill:currentColor;width:24px;height:24px}.tabbar{padding:0 env(safe-area-inset-right) 0 env(safe-area-inset-left);border-bottom:1px solid var(--outline-variant);background:var(--surface);display:flex}.tab{min-width:0;color:var(--primary-dim);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:1;padding:14px 0;font-size:12px;font-weight:500}.tab[aria-selected=true]{color:var(--primary);border-bottom-color:var(--primary);font-weight:700}.content{padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);flex:1}.settings{flex-direction:column;gap:12px;max-width:640px;padding:16px;display:flex}.settings h2{margin:0;font-size:22px;font-weight:400}.settings hr{border:0;border-top:1px solid var(--outline-variant);width:100%;margin:8px 0}.field{color:var(--on-surface-variant);flex-direction:column;gap:4px;font-size:12px;display:flex}.field input,.settings select{font:inherit;color:var(--on-surface);border:1px solid var(--outline);background:0 0;border-radius:4px;padding:14px 16px;font-size:16px}.field input:focus,.settings select:focus{outline:2px solid var(--primary);border-color:var(--primary)}.field.invalid{color:var(--error)}.field.invalid input{border-color:var(--error)}.field .support{min-height:16px;padding:0 16px;font-size:12px}.settings select option{background:var(--surface-container)}.button{font:inherit;background:var(--primary);color:var(--on-primary);cursor:pointer;border:0;border-radius:20px;align-self:flex-start;padding:10px 24px;font-weight:500}.button:disabled{background:var(--disabled-fill);color:var(--disabled-text);cursor:default}.link{color:var(--primary);align-self:flex-start;padding:10px 12px;font-weight:500;text-decoration:none}:root{--map-ocean:#061226;--map-land:#2b4466;--map-land-edge:#3f5e86;--map-grid:#fff3;--map-footprint:#ffe08238;--map-footprint-edge:#ffe082cc;--map-moon:#ffe9a8;--map-moon-dark:#55607a;--map-moon-rim:#0005;--map-me:#ff9800;--map-leader:#fff9;--map-black:#000;--moon-up:#66bb6a}.moon{flex-direction:column;align-items:center;min-width:0;max-width:720px;margin:0 auto;padding:12px;display:flex}.moon .timelines{grid-template-columns:auto minmax(0,auto);align-items:end;column-gap:10px;max-width:100%;font-size:clamp(13px,4.2vw,17px);display:grid}.moon .timelines .label{color:var(--secondary);text-align:end;white-space:nowrap}.moon .timelines .value{min-width:0;font-family:ui-monospace,Roboto Mono,Consolas,monospace}.moon .timelines .value>span:first-child{white-space:nowrap}.moon .timelines .zone{margin-left:8px;font-family:Roboto,system-ui,sans-serif;font-size:12px}.moon .error{color:var(--error);margin-top:8px}.moon canvas{aspect-ratio:2;width:100%;margin-top:8px;display:block}.moon .legend{flex-wrap:wrap;gap:0 8px;width:100%;margin-top:4px;font-size:12px;display:flex}.moon .legend .band{font-weight:700}.moon .phase{width:100%;margin-top:2px;font-size:12px}.moon .where{white-space:pre;margin-top:12px;font-size:16px;font-weight:500}.moon .bigvalues{width:100%;display:flex}.moon .bigvalue{flex-direction:column;flex:1;align-items:center;min-width:0;display:flex}.moon .bigvalue .caption{color:var(--secondary);font-size:20px}.moon .bigvalue .num{white-space:nowrap;font-family:ui-monospace,Roboto Mono,Consolas,monospace;font-size:clamp(32px,12vw,46px);font-weight:700}.moon .distance{font-size:14px}.moon .events{background:var(--surface-variant);border-radius:12px;flex-direction:column;gap:6px;width:100%;margin-top:12px;padding:12px;display:flex}.moon .events .head{color:var(--secondary);font-size:12px}.moon .events .up{color:var(--moon-up);font-weight:700}.moon .event{align-items:center;display:flex}.moon .event .label{flex:1}.moon .event .time{font-size:18px;font-weight:700}.moon .event.past .time{opacity:.6}.moon .event .extra{width:64px;margin-left:10px;font-size:12px}.moon .event .none{font-size:12px}:root{--deg-excellent:#00e676;--deg-good:#b2ff59;--deg-fair:#ffeb3b;--deg-poor:#ff9800;--deg-very-poor:#ff5252;--deg-line:#ff5252;--deg-dist:#ff9;--deg-dec:#39f;--deg-axis:#9fb0c8;--deg-grid:#fff2;--deg-center-line:#fffc;--deg-today-line:#fff6;--deg-full-moon:#fff;--scrim:#0009}.cond-excellent{color:var(--deg-excellent)}.cond-good{color:var(--deg-good)}.cond-fair{color:var(--deg-fair)}.cond-poor{color:var(--deg-poor)}.cond-very-poor{color:var(--deg-very-poor)}.deg{min-width:0;max-width:720px;margin:0 auto;padding:0 12px 12px}.deg .small{font-size:12px}.deg .accent{color:var(--secondary)}.deg .error{color:var(--error);margin-top:8px}.deg .bands{flex-wrap:wrap;gap:6px;padding-top:12px;display:flex}.deg .chip{font:inherit;color:var(--on-surface-variant);cursor:pointer;border:1px solid var(--outline);background:0 0;border-radius:8px;min-height:32px;padding:0 12px;font-size:14px}.deg .chip[aria-pressed=true]{background:var(--surface-variant);color:var(--on-surface);border-color:#0000}.deg .center-row{margin-top:8px}.deg .center-buttons{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.deg .outlined,.deg .text-button{font:inherit;color:var(--primary);cursor:pointer;background:0 0;min-height:40px;font-size:14px;font-weight:500}.deg .outlined{border:1px solid var(--outline);border-radius:20px;padding:0 24px}.deg .text-button{border:0;padding:0 12px}.deg .now{background:var(--surface-variant);border-radius:12px;margin-top:8px;padding:12px}.deg .values{flex-wrap:wrap;align-items:flex-end;column-gap:10px;display:flex}.deg .big{font-size:40px;font-weight:700;line-height:1.2}.deg .condition{font-size:22px;font-weight:700}.deg h3{margin:14px 0 4px;font-size:14px;font-weight:500}.deg .chart{width:100%;max-width:720px;height:auto;display:block}.deg .chart .axis{fill:var(--deg-axis);font-size:9px}.deg .chart .axis.dist{fill:var(--deg-dist)}.deg .chart .axis.dec{fill:var(--deg-dec)}.deg .chart .zone,.deg .chart .deg-dot{fill:currentColor}.deg .chart .grid{stroke:var(--deg-grid);stroke-width:1px}.deg .chart path{fill:none;stroke-linejoin:round}.deg .chart .line-deg{stroke:var(--deg-line);stroke-width:2px}.deg .chart .line-dist{stroke:var(--deg-dist);stroke-width:1.5px}.deg .chart .line-dec{stroke:var(--deg-dec);stroke-width:1.5px}.deg .chart .center-line{stroke:var(--deg-center-line);stroke-width:2px}.deg .chart .today-line{stroke:var(--deg-today-line);stroke-width:1px}.deg .chart .new-moon{fill:var(--map-moon-dark)}.deg .chart .full-moon{fill:var(--deg-full-moon)}.deg .series{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.deg .series .chip{padding:0 12px;font-size:12px}.deg .series-deg .swatch{color:var(--deg-line)}.deg .series-dist .swatch{color:var(--deg-dist)}.deg .series-dec .swatch{color:var(--deg-dec)}.deg .series .swatch{white-space:pre;font-weight:700}.deg .moons{white-space:pre-wrap;margin-top:2px;font-size:12px}.deg .moons .full{color:var(--deg-full-moon)}.deg .moons .new{color:var(--map-moon-dark)}.deg .best{grid-template-columns:minmax(0,9.5em) 4.5em minmax(0,1fr);padding:3px 0;display:grid}.deg .bold{font-weight:700}.deg .info{margin:14px 0}.deg-dialog{z-index:10;background:var(--scrim);place-items:center;padding:16px;display:grid;position:fixed;inset:0}.deg-dialog .card{background:var(--surface-container-high);border-radius:28px;width:100%;max-width:360px;max-height:100%;padding:16px;overflow:auto}.deg-dialog .cal-head{align-items:center;display:flex}.deg-dialog .cal-title{text-align:center;flex:1;font-size:16px;font-weight:500}.deg-dialog .icon{width:48px;height:48px;color:var(--on-surface);cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:28px}.deg-dialog .cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));justify-items:center;row-gap:4px;display:grid}.deg-dialog .weekday{padding:4px 0;font-size:11px;font-weight:500}.deg-dialog .day{aspect-ratio:1;width:100%;max-width:44px;font:inherit;color:var(--on-surface);cursor:pointer;background:0 0;border:2px solid #0000;border-radius:50%;padding:0}.deg-dialog .day.today{color:var(--primary);font-weight:700}.deg-dialog .day.selected{background:var(--primary);color:var(--on-primary);font-weight:700}.deg-dialog .day[data-best]{border-color:var(--deg-excellent)}.deg-dialog .cal-legend{align-items:center;gap:8px;margin-top:8px;font-size:12px;display:flex}.deg-dialog .cal-legend .ring{border:2px solid var(--deg-excellent);border-radius:50%;flex:none;width:14px;height:14px}.deg-dialog .text-button{font:inherit;color:var(--primary);cursor:pointer;background:0 0;border:0;margin:8px 0 0 auto;padding:10px 12px;font-size:14px;font-weight:500;display:block}:root{--alert:#ef5350;--alert-container:#3b1f1f;--dim:#9fb0c8;--row-alt:#102544}.cq,.n0uk{min-width:0;max-width:720px;margin:0 auto;padding:0 12px 12px}.cq .small,.n0uk .small{font-size:12px}.n0uk .dim{color:var(--dim)}.n0uk .accent{color:var(--secondary)}.cq .up,.n0uk .up{color:var(--moon-up)}.cq .down,.n0uk .down{color:var(--alert)}.spinner{border:2px solid var(--outline-variant);border-top-color:var(--primary);border-radius:50%;flex:none;width:20px;height:20px;margin:0 14px;animation:1s linear infinite spin}.spinner[hidden],.cq .icon-button[hidden],.n0uk [hidden]{display:none}@keyframes spin{to{transform:rotate(360deg)}}.error-card{background:var(--alert-container);color:var(--alert);overflow-wrap:anywhere;border-radius:12px;margin:4px 0;padding:10px}.cq .chips{flex-wrap:wrap;gap:6px;padding-top:8px;display:flex}.cq .chip{font:inherit;color:var(--on-surface-variant);cursor:pointer;border:1px solid var(--outline);background:0 0;border-radius:8px;min-height:32px;padding:0 12px;font-size:14px}.cq .chip[aria-pressed=true]{background:var(--surface-variant);color:var(--on-surface);border-color:#0000}.cq .head{align-items:center;display:flex}.cq .head .info{flex:1;min-width:0}.cq .empty{text-align:center;margin-top:24px}.cq .spots{flex-direction:column;gap:6px;margin-top:4px;display:flex}.cq .spot{background:var(--surface-variant);border-radius:12px;min-width:0;padding:10px}.cq .spot .top{align-items:baseline;gap:10px;display:flex}.cq .spot .call{color:var(--primary);overflow-wrap:anywhere;min-width:0;font-size:22px;font-weight:700}.cq .spot .grid,.cq .spot .freq{font-family:ui-monospace,Roboto Mono,Consolas,monospace}.cq .spot .age{text-align:end;margin-left:auto}.cq .spot .freq{white-space:pre-wrap;overflow-wrap:anywhere}.cq .spot .bottom{align-items:center;gap:8px;display:flex}.cq .spot .via{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.cq .spot .source{color:var(--dim)}.cq .spot .moon.up,.cq .spot .moon.down{font-weight:700}.n0uk .info-row{align-items:center;padding-top:6px;display:flex}.n0uk .info-row>div{flex:1;min-width:0}.n0uk .subtabs{border-bottom:1px solid var(--outline-variant);margin-top:4px;display:flex}.n0uk .subtab{min-width:0;color:var(--primary-dim);font:inherit;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;flex:1;padding:12px 4px;font-size:14px;font-weight:500;overflow:hidden}.n0uk .subtab[aria-selected=true]{color:var(--primary);border-bottom-color:var(--primary);font-weight:700}.n0uk .pane{padding-top:6px}.n0uk .message{background:var(--surface-variant);border-radius:12px;min-width:0;margin-bottom:4px;padding:6px 10px}.n0uk .message .top{flex-wrap:wrap;align-items:baseline;gap:0 8px;display:flex}.n0uk .stamp{font-family:ui-monospace,Roboto Mono,Consolas,monospace;font-size:12px}.n0uk .call{color:var(--primary);font-weight:700}.n0uk .call.mine{color:var(--secondary)}.n0uk .message .text{overflow-wrap:anywhere;white-space:pre-wrap}.n0uk .message .text.cq{color:var(--primary);font-weight:700}.n0uk .message .text.stop{color:var(--dim)}.n0uk .heading{margin:8px 0 4px;font-size:14px;font-weight:500}.n0uk .writer{grid-template-columns:92px 86px minmax(0,1fr) auto;align-items:center;gap:0 4px;padding:7px 0;display:grid}.n0uk .writer>span{overflow-wrap:anywhere;min-width:0}.n0uk .writer .loc{font-family:ui-monospace,Roboto Mono,Consolas,monospace;font-size:12px}.n0uk .cq-title{padding:6px 0}.n0uk .cq-row{grid-template-columns:40px 58px 36px minmax(0,1fr) 62px 54px 40px;align-items:center;padding:7px 4px;font-size:11.5px;display:grid}.n0uk .cq-row>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.n0uk .cq-row.alt{background:var(--row-alt)}.n0uk .cq-row.cq-head{background:var(--surface-container-highest);color:var(--secondary);padding:6px 4px;font-size:9.5px;font-weight:700}.n0uk .cq-row .end{text-align:end}.n0uk .cq-row .utc{color:var(--dim)}.n0uk .cq-row .freq{font-weight:700}.n0uk .cq-row .call{color:var(--primary)}.n0uk .cq-row.ended>span{color:var(--dim)}.n0uk .cq-row.ended .freq{font-weight:400}.n0uk .cq-row.ended .call{text-decoration:line-through}.n0uk .cq-row .end.up{color:var(--moon-up)}.n0uk .cq-row .end.down{color:var(--alert)}.n0uk .cq-row.cq-head>span{color:var(--secondary)}.n0uk .empty{margin-top:16px}
