:root {
    --radio-ink: #071015;
    --radio-panel: #0d1a20;
    --radio-panel-2: #12252c;
    --radio-border: rgba(107, 220, 205, .18);
    --radio-cyan: #66ded0;
    --radio-cyan-bright: #8ef6e8;
    --radio-amber: #ffb545;
    --radio-red: #ff685f;
    --radio-grid: rgba(102, 222, 208, .045);
    --radio-shadow: 0 24px 70px rgba(0, 0, 0, .32);
}

[data-bs-theme="light"] {
    --radio-ink: #e9eeeb;
    --radio-panel: #f7faf8;
    --radio-panel-2: #e2ece8;
    --radio-border: rgba(13, 86, 79, .2);
    --radio-cyan: #087c72;
    --radio-cyan-bright: #075f58;
    --radio-amber: #9f5700;
    --radio-red: #b72924;
    --radio-grid: rgba(8, 124, 114, .065);
    --radio-shadow: 0 24px 70px rgba(21, 61, 55, .12);
}

html { background: var(--radio-ink); }
body {
    min-height: 100vh;
    background:
        radial-gradient(circle at 82% 10%, rgba(53, 173, 159, .1), transparent 29rem),
        linear-gradient(180deg, color-mix(in srgb, var(--radio-ink) 94%, #18343c), var(--radio-ink));
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
    letter-spacing: .01em;
}

.signal-grid {
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background-image:
        linear-gradient(var(--radio-grid) 1px, transparent 1px),
        linear-gradient(90deg, var(--radio-grid) 1px, transparent 1px);
    background-size: 42px 42px;
    mask-image: linear-gradient(to bottom, #000, transparent 75%);
}

.radio-header {
    background: color-mix(in srgb, var(--radio-ink) 84%, transparent);
    backdrop-filter: blur(18px);
    border-bottom: 1px solid var(--radio-border);
}

.navbar-brand { color: var(--bs-body-color); text-decoration: none; }
.brand-title { font-size: 1.2rem; letter-spacing: .2em; line-height: 1; }
.brand-frequency { color: var(--radio-cyan); font-family: ui-monospace, monospace; letter-spacing: .08em; }
.brand-mark { position: relative; width: 44px; height: 44px; display: inline-block; }
.antenna-dot { position: absolute; width: 8px; height: 8px; border-radius: 50%; background: var(--radio-amber); left: 18px; top: 18px; box-shadow: 0 0 18px var(--radio-amber); }
.antenna-wave { position: absolute; inset: 0; border: 2px solid var(--radio-cyan); border-top-color: transparent; border-bottom-color: transparent; border-radius: 50%; }
.wave-one { inset: 8px; }

.nav-link { font-size: .92rem; letter-spacing: .04em; }
.nav-link.active { color: var(--radio-cyan-bright) !important; }
.module-state i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; box-shadow: 0 0 10px currentColor; }
.theme-toggle { width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--radio-border); color: var(--radio-cyan-bright); background: var(--radio-panel); }
.theme-toggle:hover { border-color: var(--radio-cyan); transform: translateY(-1px); }
.theme-icon-light { display: none; }
[data-bs-theme="light"] .theme-icon-dark { display: none; }
[data-bs-theme="light"] .theme-icon-light { display: inline; }
.spectrum-line { height: 2px; overflow: hidden; background: linear-gradient(90deg, transparent, var(--radio-border), transparent); }
.spectrum-line span { display: block; width: 18%; height: 100%; background: linear-gradient(90deg, transparent, var(--radio-cyan), var(--radio-amber), transparent); animation: scan 7s linear infinite; }

.hero-section { min-height: 66vh; display: flex; align-items: center; }
.eyebrow { color: var(--radio-cyan); font: 700 .75rem ui-monospace, monospace; letter-spacing: .18em; text-transform: uppercase; }
.eyebrow > span { display: inline-block; width: 34px; height: 1px; background: var(--radio-cyan); margin: 0 .65rem .22rem 0; }
.hero-section h1 { letter-spacing: -.045em; line-height: .98; }
.hero-section h1 em { color: var(--radio-cyan-bright); font-style: normal; }
.hero-copy { max-width: 42rem; line-height: 1.75; }
.btn-signal { color: #061411; background: var(--radio-cyan); border-color: var(--radio-cyan); font-weight: 750; letter-spacing: .03em; }
.btn-signal:disabled { color: #061411; opacity: .9; }
.btn-outline-signal { color: var(--radio-cyan-bright); border-color: color-mix(in srgb, var(--radio-cyan) 58%, transparent); font-weight: 700; }
.btn-outline-signal:hover { color: #061411; border-color: var(--radio-cyan); background: var(--radio-cyan); }
.system-note { color: var(--bs-secondary-color); font: .7rem ui-monospace, monospace; letter-spacing: .1em; }

.receiver-panel {
    position: relative;
    overflow: hidden;
    padding: 1.6rem;
    color: #c7eee8;
    background: linear-gradient(145deg, #14282f, #091217);
    border: 1px solid rgba(125, 226, 211, .24);
    border-radius: .55rem;
    box-shadow: var(--radio-shadow), inset 0 0 35px rgba(0, 0, 0, .28);
    animation: panel-arrival .7s cubic-bezier(.2, .75, .25, 1) both;
}
.receiver-panel::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: repeating-linear-gradient(0deg, rgba(255,255,255,.018), rgba(255,255,255,.018) 1px, transparent 1px, transparent 4px); }
.receiver-topline { display: flex; justify-content: space-between; color: #668d91; font: .7rem ui-monospace, monospace; letter-spacing: .13em; }
.status-led { color: var(--radio-amber); }
.frequency-display { margin: 2.2rem 0 1.7rem; padding: 1.1rem 1.2rem; border: 1px solid rgba(102, 222, 208, .18); background: #061014; box-shadow: inset 0 0 24px rgba(49, 211, 193, .06); }
.frequency-display small { display: block; color: #567b7d; font: .65rem ui-monospace, monospace; letter-spacing: .16em; }
.frequency-display strong { color: #83f2e4; font: 500 clamp(2.6rem, 8vw, 4.5rem) ui-monospace, monospace; letter-spacing: -.08em; text-shadow: 0 0 20px rgba(102, 222, 208, .28); }
.frequency-display span { margin-left: .55rem; color: #698e91; font: .75rem ui-monospace, monospace; }
.meter-labels { display: flex; justify-content: space-between; color: #648185; font: .62rem ui-monospace, monospace; }
.signal-meter { height: 7px; margin: .45rem 0 1.4rem; border-radius: 1rem; background: linear-gradient(90deg, #285853 70%, #604c21 70%); overflow: hidden; }
.signal-meter i { display: block; width: 42%; height: 100%; background: linear-gradient(90deg, #38a99d, #83f2e4); box-shadow: 0 0 12px #66ded0; animation: meter-breathe 4.8s ease-in-out infinite; transform-origin: left center; }
.receiver-panel.qso-monitor-active .signal-meter i { width: 100%; animation: qso-scan 30s linear forwards; }
.receiver-panel.qso-monitor-paused .signal-meter i { animation-play-state: paused; }
.receiver-controls { display: grid; grid-template-columns: repeat(4, 1fr); gap: .5rem; color: #79999b; font: .58rem ui-monospace, monospace; letter-spacing: .08em; }
.receiver-controls span { display: flex; align-items: center; gap: .35rem; }
.receiver-controls b { width: 5px; height: 5px; border-radius: 50%; background: #66ded0; box-shadow: 0 0 7px #66ded0; }
.receiver-qso-monitor { position: relative; z-index: 1; margin: -1rem 0 1rem; }
.receiver-qso { display: none; align-items: center; justify-content: space-between; gap: 1rem; min-height: 4.85rem; padding: .8rem .9rem; color: #bcece5; border: 1px solid rgba(102,222,208,.2); border-radius: .35rem; text-decoration: none; background: rgba(2,12,15,.72); transition: border-color .2s, background .2s, transform .2s, opacity .25s; }
.receiver-qso.is-active { display: flex; animation: qso-arrival .35s ease-out both; }
.receiver-qso:hover { color: #e2fffa; border-color: rgba(102,222,208,.52); background: rgba(7,28,32,.9); transform: translateY(-2px); }
.receiver-qso > span, .receiver-qso > b { display: grid; gap: .2rem; min-width: 0; }
.receiver-qso > span small { color: #63898c; font: 700 .56rem ui-monospace, monospace; letter-spacing: .13em; }
.receiver-qso > span strong { overflow: hidden; font: 700 .88rem ui-monospace, monospace; text-overflow: ellipsis; white-space: nowrap; }
.receiver-qso > span i { color: var(--radio-amber); font-style: normal; }
.receiver-qso > b { color: #6edfd2; font: 700 .63rem ui-monospace, monospace; text-align: right; white-space: nowrap; }
.receiver-qso > b small { color: #63898c; font-size: .55rem; }
.receiver-qso-rst { color: #9d8758 !important; letter-spacing: .04em; }
.receiver-qso-meta { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: .6rem; padding: .4rem .25rem 0; color: #4f7477; font: 700 .51rem ui-monospace, monospace; letter-spacing: .12em; }
.receiver-qso-meta > span:last-child { text-align: right; }
.receiver-qso-meta a { color: #77dcd0; text-decoration: none; letter-spacing: .06em; transition: color .18s, text-shadow .18s; }
.receiver-qso-meta a:hover { color: #b4fff5; text-shadow: 0 0 10px rgba(102,222,208,.45); }

.section-heading h2 { font-size: clamp(1.8rem, 4vw, 2.8rem); }
.module-card { position: relative; padding: 1.7rem; border: 1px solid var(--radio-border); border-radius: .5rem; background: color-mix(in srgb, var(--radio-panel) 92%, transparent); box-shadow: 0 16px 40px rgba(0, 0, 0, .08); transition: transform .2s ease, border-color .2s ease; }
.module-card:hover { transform: translateY(-4px); border-color: color-mix(in srgb, var(--radio-cyan) 55%, transparent); }
.module-number { color: var(--radio-amber); font: .72rem ui-monospace, monospace; letter-spacing: .12em; }
.module-card h3 { margin: 1.3rem 0 .8rem; font-size: 1.25rem; }
.module-card p { color: var(--bs-secondary-color); line-height: 1.65; min-height: 5rem; }
.module-state { display: flex; align-items: center; gap: .5rem; color: var(--radio-cyan); font: .63rem ui-monospace, monospace; letter-spacing: .11em; }
.home-trust-line { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; margin-top: 1.4rem; color: var(--bs-secondary-color); font: 700 .64rem ui-monospace, monospace; letter-spacing: .07em; text-transform: uppercase; }
.home-trust-line span { display: inline-flex; align-items: center; gap: .4rem; }
.home-trust-line i { width: 6px; height: 6px; border-radius: 50%; background: var(--radio-cyan); box-shadow: 0 0 9px var(--radio-cyan); }
.home-services .section-heading { max-width: none; }
.home-services-heading { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; }
.home-services-heading > div { max-width: 46rem; }
.home-service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.home-service-card { display: flex; align-items: flex-start; gap: 1.1rem; min-width: 0; padding: 1.5rem; color: var(--bs-body-color); border: 1px solid var(--radio-border); border-radius: .55rem; text-decoration: none; background: color-mix(in srgb, var(--radio-panel) 94%, transparent); box-shadow: 0 16px 42px rgba(0,0,0,.08); transition: transform .2s, border-color .2s, background .2s; animation: content-arrival .5s ease-out both; }
.home-service-card:hover { color: var(--bs-body-color); transform: translateY(-4px); border-color: color-mix(in srgb, var(--radio-cyan) 58%, transparent); background: color-mix(in srgb, var(--radio-cyan) 5%, var(--radio-panel)); }
.home-service-icon { display: grid; place-items: center; flex: 0 0 auto; width: 2.8rem; height: 2.8rem; color: var(--radio-cyan); border: 1px solid color-mix(in srgb, var(--radio-cyan) 35%, transparent); border-radius: .45rem; background: color-mix(in srgb, var(--radio-cyan) 7%, transparent); }
.home-service-icon .radio-icon { width: 1.45rem; height: 1.45rem; }
.home-service-card small { color: var(--radio-amber); font: 700 .61rem ui-monospace, monospace; letter-spacing: .12em; }
.home-service-card h3 { margin: .55rem 0 .65rem; font-size: 1.12rem; }
.home-service-card p { min-height: 5.2rem; margin-bottom: 1rem; color: var(--bs-secondary-color); font-size: .84rem; line-height: 1.6; }
.home-service-card b { color: var(--radio-cyan-bright); font-size: .78rem; }
.home-content-block { position: relative; }
.home-content-block.is-linked { cursor: pointer; }
.home-content-block.is-linked:focus-within { border-color: var(--radio-cyan); box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--radio-cyan) 18%, transparent), 0 16px 42px rgba(0,0,0,.08); }
.home-content-block.home-block-wide { grid-column: 1 / -1; align-items: center; background: linear-gradient(135deg, color-mix(in srgb, var(--radio-panel) 96%, transparent), color-mix(in srgb, var(--radio-cyan) 8%, var(--radio-panel))); }
.home-content-block.home-block-wide p { min-height: 0; max-width: 62rem; }
.home-content-block.accent-amber .home-service-icon, .home-content-block.accent-amber small, .home-block-admin-item.accent-amber .home-block-admin-icon { color: var(--radio-amber); border-color: color-mix(in srgb, var(--radio-amber) 40%, transparent); }
.home-content-block.accent-neutral .home-service-icon, .home-block-admin-item.accent-neutral .home-block-admin-icon { color: var(--bs-secondary-color); border-color: var(--radio-border); }
.home-block-link { display: inline-flex; margin-top: auto; color: var(--radio-cyan-bright); font-weight: 700; font-size: .78rem; text-decoration: none; }
.home-block-link:hover { color: var(--radio-amber); }
.home-block-admin-list { display: grid; gap: .75rem; }
.home-block-admin-item { display: flex; align-items: center; gap: 1rem; padding: 1rem; border: 1px solid var(--radio-border); border-radius: .55rem; background: color-mix(in srgb, var(--radio-panel) 95%, transparent); }
.home-block-admin-order { display: grid; justify-items: center; gap: .25rem; color: var(--bs-secondary-color); font: 700 .68rem ui-monospace, monospace; }
.home-block-admin-order form { margin: 0; }
.home-block-admin-icon { display: grid; place-items: center; flex: 0 0 auto; width: 2.8rem; height: 2.8rem; color: var(--radio-cyan); border: 1px solid var(--radio-border); border-radius: .45rem; }
.home-block-admin-icon .radio-icon { width: 1.4rem; height: 1.4rem; }
.home-market-section { position: relative; overflow: hidden; border-top: 1px solid var(--radio-border); border-bottom: 1px solid var(--radio-border); background: color-mix(in srgb, var(--radio-panel) 42%, transparent); }
.home-market-priority { background: radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--radio-cyan) 9%, transparent), transparent 32rem), radial-gradient(circle at 92% 100%, color-mix(in srgb, var(--radio-amber) 6%, transparent), transparent 28rem), color-mix(in srgb, var(--radio-panel) 58%, transparent); }
.home-market-priority::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .28; background: repeating-linear-gradient(90deg, transparent 0 5rem, color-mix(in srgb, var(--radio-border) 35%, transparent) 5rem calc(5rem + 1px)); }
.home-market-priority > .container { position: relative; }
.home-market-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; }
.home-market-heading h2 { font-size: clamp(2rem, 5vw, 3.4rem); letter-spacing: -.035em; }
.home-market-live { display: inline-flex; align-items: center; gap: .4rem; padding: .22rem .45rem; color: var(--radio-amber); border: 1px solid color-mix(in srgb, var(--radio-amber) 38%, transparent); border-radius: .25rem; font: 800 .58rem ui-monospace, monospace; letter-spacing: .12em; }
.home-market-live i { width: 6px; height: 6px; border-radius: 50%; background: var(--radio-amber); box-shadow: 0 0 9px var(--radio-amber); animation: meter-breathe 2.5s ease-in-out infinite; }
.home-market-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.home-market-card { position: relative; display: grid; grid-template-columns: 12rem 1fr; min-width: 0; min-height: 12rem; overflow: hidden; color: var(--bs-body-color); border: 1px solid var(--radio-border); border-radius: .6rem; text-decoration: none; background: color-mix(in srgb, var(--radio-panel) 96%, transparent); box-shadow: 0 15px 38px rgba(0,0,0,.08); transition: transform .2s, border-color .2s, box-shadow .2s; animation: content-arrival .5s ease-out both; }
.home-market-card.is-latest { border-color: color-mix(in srgb, var(--radio-amber) 42%, var(--radio-border)); }
.home-market-card.is-latest::after { content: "UUSIN"; position: absolute; top: .6rem; left: .6rem; padding: .2rem .4rem; color: #17130a; border-radius: .2rem; background: var(--radio-amber); font: 800 .55rem ui-monospace, monospace; letter-spacing: .1em; }
.home-market-card:hover { color: var(--bs-body-color); transform: translateY(-4px); border-color: color-mix(in srgb, var(--radio-cyan) 62%, transparent); box-shadow: 0 20px 48px color-mix(in srgb, var(--radio-cyan) 10%, rgba(0,0,0,.12)); }
.home-market-image { display: grid; place-items: center; min-height: 12rem; overflow: hidden; color: color-mix(in srgb, var(--radio-cyan) 50%, transparent); background: linear-gradient(145deg, var(--radio-panel-2), var(--radio-ink)); }
.home-market-image img { width: 100%; height: 100%; object-fit: cover; }
.home-market-image .radio-icon { width: 2.8rem; height: 2.8rem; }
.home-market-body { display: flex; flex-direction: column; min-width: 0; padding: 1rem; }
.home-market-kicker { display: flex; align-items: center; justify-content: space-between; gap: .6rem; color: var(--radio-cyan); font: 700 .61rem ui-monospace, monospace; letter-spacing: .09em; text-transform: uppercase; }
.home-market-kicker span { display: inline-flex; align-items: center; gap: .3rem; }
.home-market-kicker time { color: var(--bs-secondary-color); font-size: .56rem; }
.home-market-body h3 { margin: .65rem 0 .3rem; overflow: hidden; font-size: 1.05rem; line-height: 1.35; }
.home-market-body > p { margin: 0; color: var(--bs-secondary-color); font-size: .72rem; }
.home-market-meta { display: flex; align-items: end; justify-content: space-between; gap: .6rem; padding-top: .65rem; margin-top: auto; border-top: 1px solid var(--radio-border); }
.home-market-meta strong { color: var(--radio-cyan-bright); font-size: .9rem; }
.home-market-meta small { display: inline-flex; align-items: center; gap: .2rem; color: var(--bs-secondary-color); font-size: .65rem; }
.home-market-meta .radio-icon, .home-market-kicker .radio-icon { width: .9rem; height: .9rem; }
.home-market-empty { display: flex; align-items: center; gap: 1rem; padding: 2rem; border: 1px dashed var(--radio-border); border-radius: .6rem; color: var(--radio-cyan); background: color-mix(in srgb, var(--radio-panel) 82%, transparent); }
.home-market-empty > .radio-icon { width: 2.5rem; height: 2.5rem; }
.home-market-empty div { display: grid; gap: .25rem; }
.home-market-empty span { color: var(--bs-secondary-color); font-size: .84rem; }
.home-join { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1.5rem; padding: clamp(1.5rem, 4vw, 2.5rem); overflow: hidden; border: 1px solid var(--radio-border); border-radius: .6rem; background: linear-gradient(135deg, color-mix(in srgb, var(--radio-panel) 96%, transparent), color-mix(in srgb, var(--radio-cyan) 7%, var(--radio-panel))); box-shadow: var(--radio-shadow); }
.home-join > div { display: grid; place-items: center; width: 4rem; height: 4rem; color: var(--radio-cyan); border: 1px solid var(--radio-border); border-radius: 50%; }
.home-join > div .radio-icon { width: 2rem; height: 2rem; }
.home-join h2 { margin: .5rem 0; font-size: 1.5rem; }
.home-join p { max-width: 50rem; margin: 0; color: var(--bs-secondary-color); font-size: .88rem; }
.logbook-hero { position: relative; overflow: hidden; border-bottom: 1px solid var(--radio-border); background: radial-gradient(circle at 80% 20%, color-mix(in srgb, var(--radio-cyan) 10%, transparent), transparent 28rem), linear-gradient(135deg, color-mix(in srgb, var(--radio-panel) 97%, transparent), color-mix(in srgb, var(--radio-panel-2) 86%, transparent)); }
.logbook-hero::after { content: ""; position: absolute; inset: auto 0 0; height: 3px; opacity: .6; background: linear-gradient(90deg, transparent, var(--radio-cyan) 25%, var(--radio-amber) 72%, transparent); box-shadow: 0 0 18px color-mix(in srgb, var(--radio-cyan) 30%, transparent); }
.logbook-hero h1 em { color: var(--radio-cyan-bright); font-family: Georgia, serif; font-weight: 400; }
.logbook-stat-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: hidden; border: 1px solid var(--radio-border); border-radius: .6rem; background: color-mix(in srgb, var(--radio-panel) 92%, transparent); box-shadow: var(--radio-shadow); }
.logbook-stat-grid div { display: grid; gap: .35rem; padding: 1.2rem; border-right: 1px solid var(--radio-border); border-bottom: 1px solid var(--radio-border); }
.logbook-stat-grid div:nth-child(even) { border-right: 0; }
.logbook-stat-grid div:nth-last-child(-n+2) { border-bottom: 0; }
.logbook-stat-grid span { color: var(--bs-secondary-color); font: 700 .6rem ui-monospace, monospace; letter-spacing: .1em; text-transform: uppercase; }
.logbook-stat-grid strong { color: var(--radio-cyan-bright); font: 700 1.35rem ui-monospace, monospace; }
.logbook-search-panel { padding: clamp(1.2rem, 3vw, 2rem); border: 1px solid var(--radio-border); border-radius: .6rem; background: color-mix(in srgb, var(--radio-panel) 95%, transparent); box-shadow: var(--radio-shadow); animation: panel-arrival .5s ease-out both; }
.logbook-search-panel .form-control, .logbook-search-panel .form-select { border-color: var(--radio-border); background-color: color-mix(in srgb, var(--radio-panel-2) 90%, transparent); }
.logbook-search-field { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; overflow: hidden; border: 1px solid var(--radio-border); border-radius: .4rem; background: color-mix(in srgb, var(--radio-panel-2) 90%, transparent); }
.logbook-search-field > .radio-icon { width: 1.1rem; height: 1.1rem; margin: 0 .75rem; color: var(--radio-cyan); }
.logbook-search-field .form-control { border: 0; border-left: 1px solid var(--radio-border); border-radius: 0; box-shadow: none; }
.logbook-search-field .btn { align-self: stretch; border-radius: 0; }
.logbook-table-wrap { overflow: hidden; border: 1px solid var(--radio-border); border-radius: .6rem; background: color-mix(in srgb, var(--radio-panel) 95%, transparent); box-shadow: 0 16px 40px rgba(0,0,0,.07); }
.logbook-table thead th { padding: .8rem 1rem; color: var(--bs-secondary-color); border-bottom-color: var(--radio-border); background: color-mix(in srgb, var(--radio-panel-2) 86%, transparent); font: 700 .6rem ui-monospace, monospace; letter-spacing: .09em; text-transform: uppercase; white-space: nowrap; }
.logbook-table tbody td { padding: .8rem 1rem; border-bottom-color: var(--radio-border); }
.logbook-table tbody tr:last-child td { border-bottom: 0; }
.logbook-table tbody tr { transition: background .18s; }
.logbook-table tbody tr:hover { background: color-mix(in srgb, var(--radio-cyan) 5%, transparent); }
.logbook-table time, .logbook-table td:nth-child(3) { display: grid; gap: .12rem; white-space: nowrap; }
.logbook-table time small, .logbook-table td:nth-child(3) small { color: var(--bs-secondary-color); font: .66rem ui-monospace, monospace; }
.logbook-contact { display: flex; align-items: center; gap: .55rem; min-width: 13rem; }
.logbook-contact i { color: var(--radio-amber); font-style: normal; }
.logbook-rst { display: flex; gap: .3rem; }
.logbook-rst b { padding: .2rem .35rem; color: var(--radio-cyan); border: 1px solid color-mix(in srgb, var(--radio-cyan) 25%, transparent); border-radius: .25rem; font: 700 .63rem ui-monospace, monospace; white-space: nowrap; }
.logbook-pagination { align-items: center; margin-top: 1.5rem; }
.logbook-pagination > span { color: var(--bs-secondary-color); }
.qsl-toolbar { display: flex; justify-content: space-between; gap: 1rem; }
.qsl-card { position: relative; width: min(100%, 62rem); min-height: 35rem; padding: clamp(1.4rem, 5vw, 3.2rem); margin: 0 auto; overflow: hidden; color: #c9f6ee; border: 1px solid rgba(102,222,208,.35); border-radius: .8rem; background: radial-gradient(circle at 82% 28%, rgba(102,222,208,.1), transparent 18rem), linear-gradient(145deg, #10262d, #061014 62%, #14261e); box-shadow: 0 28px 75px rgba(0,0,0,.28), inset 0 0 70px rgba(0,0,0,.3); }
.qsl-card::after { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .34; background: repeating-linear-gradient(0deg, rgba(255,255,255,.018), rgba(255,255,255,.018) 1px, transparent 1px, transparent 4px); }
.qsl-card > * { position: relative; z-index: 1; }
.qsl-card header, .qsl-card footer { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.qsl-card header div { display: grid; gap: .25rem; }
.qsl-card header span, .qsl-card header b, .qsl-card footer { color: #72999a; font: 700 .62rem ui-monospace, monospace; letter-spacing: .13em; }
.qsl-card header strong { color: var(--radio-amber); font: 700 1rem ui-monospace, monospace; letter-spacing: .14em; }
.qsl-signal-line { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: .8rem; margin: 2rem 0; }
.qsl-signal-line span { height: 1px; background: linear-gradient(90deg, transparent, #416b6c); }
.qsl-signal-line span:last-child { background: linear-gradient(90deg, #416b6c, transparent); }
.qsl-signal-line i { width: 8px; height: 8px; border-radius: 50%; background: #67e1d2; box-shadow: 0 0 13px #67e1d2; }
.qsl-calls { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: clamp(1rem, 5vw, 4rem); text-align: center; }
.qsl-calls div { display: grid; gap: .5rem; }
.qsl-calls small { color: #72999a; font: 700 .62rem ui-monospace, monospace; letter-spacing: .14em; }
.qsl-calls strong { overflow-wrap: anywhere; color: #84f3e5; font: 600 clamp(1.8rem, 6vw, 4.2rem) ui-monospace, monospace; letter-spacing: -.07em; text-shadow: 0 0 24px rgba(102,222,208,.22); }
.qsl-calls > span { color: var(--radio-amber); }
.qsl-calls .radio-icon { width: 2.4rem; height: 2.4rem; }
.qsl-confirmation { margin: 2.2rem 0; color: #8aabad; text-align: center; font-size: .8rem; letter-spacing: .06em; text-transform: uppercase; }
.qsl-data { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); margin: 0 0 2.5rem; overflow: hidden; border: 1px solid rgba(102,222,208,.18); border-radius: .45rem; background: rgba(2,12,15,.62); }
.qsl-data div { padding: .9rem .55rem; border-right: 1px solid rgba(102,222,208,.14); text-align: center; }
.qsl-data div:last-child { border-right: 0; }
.qsl-data dt { color: #587c7e; font: 700 .55rem ui-monospace, monospace; letter-spacing: .09em; }
.qsl-data dd { margin: .35rem 0 0; color: #bcece5; font: 700 .78rem ui-monospace, monospace; }
.qsl-scope { position: absolute !important; z-index: 0 !important; top: -7rem; right: -7rem; width: 22rem; height: 22rem; border: 1px solid rgba(102,222,208,.1); border-radius: 50%; background: repeating-radial-gradient(circle, transparent 0 15%, rgba(102,222,208,.045) 15.5% 16%); }
.qsl-scope::before, .qsl-scope::after { content: ""; position: absolute; background: rgba(102,222,208,.06); }
.qsl-scope::before { top: 50%; left: 0; width: 100%; height: 1px; }
.qsl-scope::after { top: 0; left: 50%; width: 1px; height: 100%; }
.qsl-scope i { position: absolute; inset: 50% 50% auto auto; width: 50%; height: 1px; background: linear-gradient(90deg, rgba(102,222,208,.28), transparent); transform-origin: left; animation: scope-sweep 9s linear infinite; }
.logbook-admin-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: hidden; border: 1px solid var(--radio-border); border-radius: .6rem; background: color-mix(in srgb, var(--radio-panel) 94%, transparent); }
.logbook-admin-stats div { display: grid; gap: .35rem; padding: 1.25rem; border-right: 1px solid var(--radio-border); }
.logbook-admin-stats div:last-child { border-right: 0; }
.logbook-admin-stats span { color: var(--bs-secondary-color); font: 700 .58rem ui-monospace, monospace; letter-spacing: .08em; text-transform: uppercase; }
.logbook-admin-stats strong { color: var(--radio-cyan-bright); font: 700 1.4rem ui-monospace, monospace; }
.auth-section { min-height: 70vh; }
.auth-panel { padding: clamp(1.5rem, 5vw, 2.5rem); border: 1px solid var(--radio-border); border-radius: .55rem; background: color-mix(in srgb, var(--radio-panel) 94%, transparent); box-shadow: var(--radio-shadow); }
.auth-panel, .search-panel, .directory-results { animation: panel-arrival .55s cubic-bezier(.2, .75, .25, 1) both; }
.auth-panel .form-control { border-color: var(--radio-border); background-color: color-mix(in srgb, var(--radio-panel-2) 90%, transparent); }
.auth-panel .form-control:focus { border-color: var(--radio-cyan); box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--radio-cyan) 18%, transparent); }
.auth-note { color: var(--bs-secondary-color); font-size: .82rem; line-height: 1.55; }
.google-login-button { display: flex; align-items: center; justify-content: center; gap: .75rem; width: 100%; min-height: 3.25rem; padding: .65rem 1rem; color: var(--bs-body-color); border: 1px solid var(--radio-border); border-radius: .4rem; background: color-mix(in srgb, var(--radio-panel-2) 88%, transparent); font-weight: 700; text-decoration: none; transition: transform .2s, border-color .2s, box-shadow .2s; }
.google-login-button:hover { color: var(--bs-body-color); transform: translateY(-2px); border-color: color-mix(in srgb, var(--radio-cyan) 62%, transparent); box-shadow: 0 8px 24px color-mix(in srgb, var(--radio-cyan) 10%, transparent); }
.google-mark { display: grid; place-items: center; width: 1.65rem; height: 1.65rem; color: #4285f4; border-radius: 50%; background: #fff; font: 800 1rem Arial, sans-serif; box-shadow: inset 0 0 0 1px #d7dbe0; }
.auth-divider { display: flex; align-items: center; gap: .8rem; margin: 1.25rem 0; color: var(--bs-secondary-color); font: 700 .62rem ui-monospace, monospace; letter-spacing: .1em; text-transform: uppercase; }
.auth-divider::before, .auth-divider::after { content: ""; flex: 1; height: 1px; background: var(--radio-border); }
.error-page { display: grid; align-items: center; min-height: 68vh; }
.error-console { display: grid; grid-template-columns: minmax(16rem, .72fr) minmax(19rem, 1.28fr); align-items: center; gap: clamp(2rem, 6vw, 5rem); width: min(100%, 62rem); padding: clamp(1.5rem, 5vw, 3.5rem); overflow: hidden; border: 1px solid var(--radio-border); border-radius: .65rem; background: linear-gradient(135deg, color-mix(in srgb, var(--radio-panel) 97%, transparent), color-mix(in srgb, var(--radio-cyan) 6%, var(--radio-panel))); box-shadow: var(--radio-shadow); animation: panel-arrival .55s ease-out both; }
.error-scope { position: relative; width: min(100%, 19rem); aspect-ratio: 1; overflow: hidden; border: 1px solid color-mix(in srgb, var(--radio-cyan) 48%, transparent); border-radius: 50%; background: repeating-radial-gradient(circle, transparent 0 14%, color-mix(in srgb, var(--radio-cyan) 10%, transparent) 14.5% 15%), linear-gradient(90deg, transparent 49.6%, color-mix(in srgb, var(--radio-cyan) 13%, transparent) 50% 50.5%, transparent 51%), linear-gradient(transparent 49.6%, color-mix(in srgb, var(--radio-cyan) 13%, transparent) 50% 50.5%, transparent 51%), #061113; box-shadow: inset 0 0 3rem rgba(102, 222, 208, .08), 0 0 2.5rem rgba(102, 222, 208, .07); }
.error-scope-ring { position: absolute; inset: 21%; border: 1px solid color-mix(in srgb, var(--radio-cyan) 24%, transparent); border-radius: 50%; }
.error-scope-ring.ring-two { inset: 38%; }
.error-scope-sweep { position: absolute; inset: 50% 50% 0 50%; width: 50%; height: 1px; background: linear-gradient(90deg, var(--radio-cyan), transparent); transform-origin: left center; animation: scope-sweep 5s linear infinite; }
.error-scope-code { position: absolute; inset: 0; display: grid; place-items: center; color: var(--radio-cyan-bright); font: 500 clamp(2.7rem, 7vw, 4.3rem) ui-monospace, monospace; letter-spacing: -.08em; text-shadow: 0 0 22px color-mix(in srgb, var(--radio-cyan) 35%, transparent); }
.error-scope-warning { border-color: color-mix(in srgb, var(--radio-amber) 55%, transparent); box-shadow: inset 0 0 3rem color-mix(in srgb, var(--radio-amber) 7%, transparent), 0 0 2.5rem color-mix(in srgb, var(--radio-amber) 7%, transparent); }
.error-scope-warning .error-scope-code { color: var(--radio-amber); text-shadow: 0 0 22px color-mix(in srgb, var(--radio-amber) 35%, transparent); }
.error-scope-warning .error-scope-sweep { background: linear-gradient(90deg, var(--radio-amber), transparent); }
.error-copy h1 { margin-bottom: 1rem; font-size: clamp(2rem, 5vw, 3.4rem); }
.error-copy > p { max-width: 38rem; color: var(--bs-secondary-color); line-height: 1.75; }
.error-copy .btn { display: inline-flex; align-items: center; gap: .45rem; }
.error-copy .radio-icon { width: 1.15rem; height: 1.15rem; }
.error-hint { display: block; margin-top: 1.5rem; color: var(--bs-secondary-color); font: 600 .68rem ui-monospace, monospace; letter-spacing: .04em; }
.mail-signal { display: inline-grid; place-items: center; width: 68px; height: 52px; color: var(--radio-cyan-bright); border: 1px solid var(--radio-border); border-radius: .4rem; background: color-mix(in srgb, var(--radio-cyan) 8%, transparent); font-size: 1.5rem; box-shadow: 0 0 30px color-mix(in srgb, var(--radio-cyan) 12%, transparent); animation: meter-breathe 4.8s ease-in-out infinite; }
.directory-hero { position: relative; overflow: hidden; }
.directory-hero::after { content: ""; position: absolute; width: 30rem; height: 30rem; right: -9rem; top: -22rem; border: 1px solid var(--radio-border); border-radius: 50%; box-shadow: 0 0 0 4rem color-mix(in srgb, var(--radio-cyan) 2%, transparent), 0 0 0 8rem color-mix(in srgb, var(--radio-cyan) 2%, transparent); pointer-events: none; }
.directory-hero h1 em { color: var(--radio-cyan-bright); font: 500 .46em ui-monospace, monospace; font-style: normal; letter-spacing: .08em; }
.directory-stats { position: relative; z-index: 1; display: flex; justify-content: flex-end; align-items: center; gap: 1.4rem; }
.directory-stats div { text-align: right; }
.directory-stats strong { display: block; color: var(--radio-cyan-bright); font: 600 2rem ui-monospace, monospace; line-height: 1; }
.directory-stats span { color: var(--bs-secondary-color); font: 700 .62rem ui-monospace, monospace; letter-spacing: .12em; text-transform: uppercase; }
.directory-stats i { width: 1px; height: 2.5rem; background: var(--radio-border); }
.directory-console { position: relative; z-index: 2; padding: clamp(1.15rem, 3vw, 1.75rem); border: 1px solid var(--radio-border); border-radius: .55rem; background: color-mix(in srgb, var(--radio-panel) 96%, transparent); box-shadow: var(--radio-shadow); animation: panel-arrival .5s ease-out both; }
.directory-console fieldset { min-width: 0; }
.directory-console legend { margin-bottom: .75rem; color: var(--bs-secondary-color); font: 700 .66rem ui-monospace, monospace; letter-spacing: .13em; text-transform: uppercase; }
.directory-mode-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .65rem; }
.directory-mode { min-width: 0; }
.directory-mode input { position: absolute; opacity: 0; pointer-events: none; }
.directory-mode > span { display: flex; align-items: center; gap: .55rem; min-height: 3.25rem; padding: .7rem .8rem; border: 1px solid var(--radio-border); border-radius: .4rem; cursor: pointer; background: color-mix(in srgb, var(--radio-panel-2) 55%, transparent); transition: border-color .2s, background .2s, transform .2s; }
.directory-mode > span:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--radio-cyan) 55%, transparent); }
.directory-mode .radio-icon { color: var(--radio-cyan); width: 1.25rem; height: 1.25rem; }
.directory-mode b { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .82rem; }
.directory-mode small { margin-left: auto; color: var(--radio-amber); font: 700 .56rem ui-monospace, monospace; letter-spacing: .08em; text-transform: uppercase; }
.directory-mode input:checked + span { color: var(--radio-cyan-bright); border-color: var(--radio-cyan); background: color-mix(in srgb, var(--radio-cyan) 10%, transparent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--radio-cyan) 22%, transparent); }
.directory-mode.locked > span { cursor: not-allowed; opacity: .52; }
.directory-mode.locked > span:hover { transform: none; border-color: var(--radio-border); }
.directory-search-line { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .8rem; margin-top: 1rem; padding: .55rem .55rem .55rem 1rem; border: 1px solid var(--radio-border); border-radius: .45rem; background: color-mix(in srgb, var(--radio-ink) 60%, transparent); }
.directory-search-line > .radio-icon { width: 1.4rem; height: 1.4rem; color: var(--radio-cyan); }
.directory-search-line input { min-width: 0; padding: .65rem 0; color: var(--bs-body-color); border: 0; outline: 0; background: transparent; font-size: 1.05rem; }
.directory-login-note { display: flex; align-items: center; gap: .6rem; margin-top: .85rem; color: var(--bs-secondary-color); font-size: .78rem; }
.directory-login-note .radio-icon { color: var(--radio-amber); }
.directory-results { min-height: 16rem; padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid var(--radio-border); border-radius: .55rem; background: color-mix(in srgb, var(--radio-panel) 94%, transparent); box-shadow: var(--radio-shadow); }
.directory-idle { min-height: 12rem; display: flex; align-items: center; justify-content: center; gap: 1.5rem; text-align: left; }
.directory-idle > .radio-icon { width: 4.2rem; height: 4.2rem; color: color-mix(in srgb, var(--radio-cyan) 55%, transparent); }
.directory-idle div { display: flex; flex-direction: column; }
.directory-idle span, .directory-results-heading span { color: var(--radio-amber); font: 700 .63rem ui-monospace, monospace; letter-spacing: .14em; }
.directory-idle strong { margin: .35rem 0 .2rem; font-size: 1.15rem; }
.directory-idle small { color: var(--bs-secondary-color); }
.directory-idle.no-signal > .radio-icon { color: color-mix(in srgb, var(--radio-red) 60%, transparent); }
.directory-message { display: flex; align-items: center; gap: 1rem; min-height: 8rem; }
.directory-message .radio-icon { width: 2.5rem; height: 2.5rem; color: var(--radio-amber); }
.directory-message div { display: flex; flex-direction: column; gap: .25rem; }
.directory-message span { color: var(--bs-secondary-color); }
.directory-results-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; margin-bottom: 1rem; border-bottom: 1px solid var(--radio-border); }
.directory-results-heading h2 { margin: .3rem 0 0; font-size: 1.35rem; }
.directory-results-heading small { color: var(--bs-secondary-color); }
.directory-result-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.directory-result-card { display: flex; flex-direction: column; gap: .65rem; min-width: 0; padding: 1rem; color: var(--bs-body-color); border: 1px solid var(--radio-border); border-radius: .45rem; text-decoration: none; background: color-mix(in srgb, var(--radio-panel-2) 48%, transparent); transition: transform .2s, border-color .2s, background .2s; }
.directory-result-card:hover { color: var(--bs-body-color); transform: translateY(-3px); border-color: color-mix(in srgb, var(--radio-cyan) 58%, transparent); background: color-mix(in srgb, var(--radio-cyan) 7%, var(--radio-panel)); }
.directory-result-top { display: flex; align-items: center; justify-content: space-between; }
.directory-result-top i { width: 6px; height: 6px; border-radius: 50%; background: var(--radio-cyan); box-shadow: 0 0 10px var(--radio-cyan); }
.directory-result-card > strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.directory-result-meta { display: flex; justify-content: space-between; gap: .75rem; color: var(--bs-secondary-color); font-size: .7rem; }
.directory-result-meta span { display: inline-flex; align-items: center; gap: .3rem; min-width: 0; }
.callsign-chip { display: inline-block; padding: .34rem .5rem; border: 1px solid color-mix(in srgb, var(--radio-cyan) 45%, transparent); border-radius: .25rem; color: var(--radio-cyan-bright); background: color-mix(in srgb, var(--radio-cyan) 8%, transparent); font: 700 .85rem ui-monospace, monospace; letter-spacing: .06em; }
.private-value { color: var(--bs-secondary-color); font-size: .83rem; }
.station-section { min-height: 72vh; }
.station-back { color: var(--bs-secondary-color); text-decoration: none; font-size: .82rem; }
.station-back:hover { color: var(--radio-cyan-bright); }
.station-header { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: clamp(1.5rem, 4vw, 2.5rem); overflow: hidden; border: 1px solid var(--radio-border); border-radius: .6rem; background: linear-gradient(135deg, color-mix(in srgb, var(--radio-panel) 96%, transparent), color-mix(in srgb, var(--radio-cyan) 6%, var(--radio-panel))); box-shadow: var(--radio-shadow); }
.station-header h1 { margin: 0; color: var(--radio-cyan-bright); font: 600 clamp(2.8rem, 8vw, 5.5rem) ui-monospace, monospace; letter-spacing: -.06em; text-shadow: 0 0 25px color-mix(in srgb, var(--radio-cyan) 25%, transparent); }
.station-header p { margin: .4rem 0 0; color: var(--bs-secondary-color); }
.station-signal { display: flex; align-items: end; gap: .3rem; height: 5rem; transform: skewX(-8deg); }
.station-signal i { display: block; width: .55rem; background: var(--radio-cyan); box-shadow: 0 0 12px color-mix(in srgb, var(--radio-cyan) 45%, transparent); animation: meter-breathe 3.4s ease-in-out infinite; }
.station-signal i:nth-child(1) { height: 20%; }.station-signal i:nth-child(2) { height: 36%; }.station-signal i:nth-child(3) { height: 54%; }.station-signal i:nth-child(4) { height: 75%; }.station-signal i:nth-child(5) { height: 100%; background: var(--radio-amber); }
.station-login-panel, .station-panel, .station-not-found { padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid var(--radio-border); border-radius: .55rem; background: color-mix(in srgb, var(--radio-panel) 94%, transparent); box-shadow: var(--radio-shadow); animation: panel-arrival .5s ease-out both; }
.station-login-panel { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1.25rem; }
.station-login-panel > .radio-icon { width: 2.8rem; height: 2.8rem; color: var(--radio-cyan); }
.station-login-panel h2 { margin: 0 0 .3rem; font-size: 1.15rem; }
.station-login-panel p { margin: 0; color: var(--bs-secondary-color); font-size: .85rem; }
.station-data-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.5rem; margin: 0; }
.station-data-grid dt { color: var(--bs-secondary-color); font: 700 .64rem ui-monospace, monospace; letter-spacing: .09em; text-transform: uppercase; }
.station-data-grid dd { margin: .3rem 0 0; overflow-wrap: anywhere; }
.station-data-grid .station-wide { grid-column: 1 / -1; }
.station-radio-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.station-radio-grid div { padding: .8rem; border: 1px solid var(--radio-border); border-radius: .4rem; background: color-mix(in srgb, var(--radio-panel-2) 55%, transparent); }
.station-radio-grid span { display: block; margin-bottom: .3rem; color: var(--bs-secondary-color); font: 700 .61rem ui-monospace, monospace; letter-spacing: .08em; text-transform: uppercase; }
.station-radio-grid strong { overflow-wrap: anywhere; font-size: .86rem; }
.station-not-found { display: grid; place-items: center; align-content: center; min-height: 24rem; text-align: center; }
.station-not-found .radio-icon { width: 4rem; height: 4rem; margin-bottom: 1rem; color: var(--radio-amber); }
.station-not-found p { color: var(--bs-secondary-color); }
.profile-section { min-height: 72vh; }
.profile-panel { padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid var(--radio-border); border-radius: .55rem; background: color-mix(in srgb, var(--radio-panel) 94%, transparent); box-shadow: var(--radio-shadow); animation: panel-arrival .55s cubic-bezier(.2, .75, .25, 1) both; }
.profile-panel-heading { display: flex; align-items: center; gap: .8rem; padding-bottom: 1rem; margin-bottom: 1.25rem; border-bottom: 1px solid var(--radio-border); }
.profile-panel-heading > span { color: var(--radio-amber); font: 700 .65rem ui-monospace, monospace; letter-spacing: .14em; }
.profile-data-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.5rem; }
.profile-data-grid > div { min-width: 0; }
.profile-data-grid dt { color: var(--bs-secondary-color); font: 700 .65rem ui-monospace, monospace; letter-spacing: .09em; text-transform: uppercase; }
.profile-data-grid dd { margin: .3rem 0 0; overflow-wrap: anywhere; }
.profile-data-grid .profile-wide { grid-column: 1 / -1; }
.account-data-page { min-height: 68vh; }
.account-data-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.account-data-card { display: flex; flex-direction: column; min-width: 0; padding: 1.4rem; border: 1px solid var(--radio-border); border-radius: .55rem; background: color-mix(in srgb, var(--radio-panel) 95%, transparent); box-shadow: 0 14px 38px rgba(0,0,0,.08); animation: content-arrival .45s ease-out both; }
.account-data-kind { display: inline-flex; align-items: center; gap: .4rem; color: var(--radio-cyan); font: 700 .65rem ui-monospace, monospace; letter-spacing: .12em; text-transform: uppercase; }
.account-data-kind .radio-icon { width: 1.05rem; height: 1.05rem; }
.account-data-card h2 { margin: 1.1rem 0 .55rem; font-size: 1.15rem; }
.account-data-card p { min-height: 1.5rem; margin-bottom: .55rem; color: var(--bs-secondary-color); font-size: .84rem; }
.account-data-card > small { display: block; margin-top: auto; padding-top: .8rem; color: var(--bs-secondary-color); font: 650 .7rem ui-monospace, monospace; }
.account-data-actions { display: flex; align-items: center; gap: .5rem; padding-top: 1rem; margin-top: 1rem; border-top: 1px solid var(--radio-border); }
.account-data-actions form { margin: 0; }
.account-data-actions .btn { display: inline-flex; align-items: center; gap: .35rem; }
.account-data-actions .radio-icon { width: .95rem; height: .95rem; }
.account-data-empty { display: grid; justify-items: center; gap: .65rem; padding: 4rem 1.5rem; text-align: center; border: 1px dashed var(--radio-border); border-radius: .55rem; color: var(--bs-secondary-color); }
.account-data-empty .radio-icon { width: 3rem; height: 3rem; color: var(--radio-cyan); }
.account-data-empty strong { color: var(--bs-body-color); font-size: 1.2rem; }
.account-data-form { width: min(100%, 58rem); padding: clamp(1.3rem, 4vw, 2.25rem); border: 1px solid var(--radio-border); border-radius: .6rem; background: color-mix(in srgb, var(--radio-panel) 95%, transparent); box-shadow: var(--radio-shadow); animation: panel-arrival .5s ease-out both; }
.account-data-form-compact { width: min(100%, 42rem); }
.account-data-form .form-control, .account-data-form .form-select { border-color: var(--radio-border); background-color: color-mix(in srgb, var(--radio-panel-2) 90%, transparent); }
.club-catalog-table-wrap { overflow: hidden; border: 1px solid var(--radio-border); border-radius: .6rem; background: color-mix(in srgb, var(--radio-panel) 95%, transparent); box-shadow: 0 14px 38px rgba(0,0,0,.08); animation: content-arrival .45s ease-out both; }
.club-catalog-table-wrap .table { --bs-table-bg: transparent; --bs-table-hover-bg: color-mix(in srgb, var(--radio-cyan) 7%, transparent); }
.club-catalog-table-wrap th { padding: 1rem; color: var(--bs-secondary-color); font: 700 .68rem ui-monospace, monospace; letter-spacing: .08em; text-transform: uppercase; border-bottom-color: var(--radio-border); }
.club-catalog-table-wrap td { padding: .9rem 1rem; border-color: var(--radio-border); }
.category-root-row { --bs-table-bg: color-mix(in srgb, var(--radio-cyan) 5%, transparent); }
.category-tree-indent { display: inline-block; min-width: 1.5rem; color: var(--radio-cyan); font-family: ui-monospace, monospace; }
.admin-only-badge { display: inline-flex; align-items: center; gap: .35rem; padding: .45rem .6rem; letter-spacing: .025em; }
.admin-only-badge .radio-icon { width: 1rem; height: 1rem; }
.profile-preline { white-space: pre-line; }
.profile-radio-row, .profile-list-item { display: flex; gap: 1rem; justify-content: space-between; align-items: center; padding: .8rem 0; border-bottom: 1px solid var(--radio-border); }
.profile-radio-row:last-child, .profile-list-item:last-child { border-bottom: 0; }
.profile-radio-row small, .profile-list-item small { color: var(--bs-secondary-color); white-space: nowrap; }
.profile-list-item { align-items: flex-start; flex-direction: column; gap: .25rem; }
.profile-list-item span { overflow-wrap: anywhere; }
.profile-panel .form-control, .profile-panel .form-select { border-color: var(--radio-border); background-color: color-mix(in srgb, var(--radio-panel-2) 90%, transparent); }
.profile-panel .form-control:focus, .profile-panel .form-select:focus { border-color: var(--radio-cyan); box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--radio-cyan) 18%, transparent); }
.radio-check { padding: .8rem .8rem .8rem 2.2rem; border: 1px solid var(--radio-border); border-radius: .4rem; background: color-mix(in srgb, var(--radio-panel-2) 65%, transparent); }
.radio-icon { width: 1.15em; height: 1.15em; vertical-align: -.18em; flex: 0 0 auto; }
.market-hero { position: relative; overflow: hidden; }
.market-hero::after { content: ""; position: absolute; width: 34rem; height: 34rem; right: -12rem; top: -19rem; border: 1px solid var(--radio-border); border-radius: 50%; box-shadow: 0 0 0 4rem color-mix(in srgb, var(--radio-cyan) 2%, transparent), 0 0 0 8rem color-mix(in srgb, var(--radio-cyan) 2%, transparent); pointer-events: none; }
.market-hero h1 em { color: var(--radio-cyan-bright); font: 500 .48em ui-monospace, monospace; font-style: normal; letter-spacing: .08em; }
.market-search { position: relative; z-index: 2; padding: 1rem; border: 1px solid var(--radio-border); border-radius: .55rem; background: color-mix(in srgb, var(--radio-panel) 96%, transparent); box-shadow: var(--radio-shadow); }
.market-search-field { display: grid; grid-template-columns: auto 1fr auto; gap: .75rem; align-items: center; padding-left: .5rem; }
.market-search-field > .radio-icon { color: var(--radio-cyan); width: 1.4rem; height: 1.4rem; }
.market-search-field input { width: 100%; padding: .7rem 0; color: var(--bs-body-color); border: 0; outline: 0; background: transparent; font-size: 1.05rem; }
.market-type-tabs { display: flex; gap: .35rem; flex-wrap: wrap; padding-top: .8rem; margin-top: .8rem; border-top: 1px solid var(--radio-border); }
.market-type-tabs a { display: inline-flex; align-items: center; gap: .35rem; padding: .45rem .7rem; color: var(--bs-secondary-color); border-radius: .35rem; text-decoration: none; font-size: .82rem; }
.market-type-tabs a:hover, .market-type-tabs a.active { color: var(--radio-cyan-bright); background: color-mix(in srgb, var(--radio-cyan) 11%, transparent); }
.market-categories { position: sticky; top: 7rem; padding: 1.25rem; border: 1px solid var(--radio-border); border-radius: .5rem; background: color-mix(in srgb, var(--radio-panel) 94%, transparent); }
.market-category-drawer > summary { display: none; }
.market-count, .market-categories summary b, .market-categories details a b { color: var(--radio-amber); font: 700 .68rem ui-monospace, monospace; }
.market-category-main, .market-categories details a { display: flex; justify-content: space-between; padding: .42rem .55rem; color: var(--bs-secondary-color); border-radius: .3rem; text-decoration: none; font-size: .82rem; }
.market-category-main.active, .market-categories details a.active, .market-categories details a:hover { color: var(--radio-cyan-bright); background: color-mix(in srgb, var(--radio-cyan) 10%, transparent); }
.market-categories details { border-top: 1px solid var(--radio-border); margin-top: .45rem; padding-top: .45rem; }
.market-categories summary { display: flex; justify-content: space-between; gap: .5rem; padding: .45rem .25rem; cursor: pointer; list-style: none; font-size: .86rem; }
.market-categories summary::-webkit-details-marker { display: none; }
.market-categories details > div { padding-left: .5rem; }
.market-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.market-card { min-width: 0; overflow: hidden; border: 1px solid var(--radio-border); border-radius: .55rem; background: color-mix(in srgb, var(--radio-panel) 95%, transparent); box-shadow: 0 16px 38px rgba(0,0,0,.1); transition: transform .2s ease, border-color .2s ease; animation: content-arrival .45s ease-out both; }
.market-card:hover { transform: translateY(-4px); border-color: color-mix(in srgb, var(--radio-cyan) 55%, transparent); }
.market-card-image { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: linear-gradient(145deg, var(--radio-panel-2), var(--radio-ink)); }
.market-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.market-card:hover .market-card-image img { transform: scale(1.025); }
.market-card-image > span { display: grid; place-items: center; align-content: center; gap: .65rem; height: 100%; color: color-mix(in srgb, var(--radio-cyan) 48%, transparent); }
.market-card-image > span .radio-icon { width: 3rem; height: 3rem; }
.market-card-image > span small { font: 700 .6rem ui-monospace, monospace; letter-spacing: .15em; }
.market-photo-count { position: absolute; right: .6rem; bottom: .6rem; padding: .3rem .45rem; color: #dffaf6; border-radius: .25rem; background: rgba(3,13,17,.78); font: 700 .68rem ui-monospace, monospace; }
.market-card-body { padding: 1rem; }
.market-type { display: inline-flex; align-items: center; gap: .3rem; color: var(--radio-cyan); font: 700 .65rem ui-monospace, monospace; letter-spacing: .08em; text-transform: uppercase; }
.market-type.type-wanted { color: var(--radio-amber); }
.market-type.type-giveaway { color: #8edc75; }
.market-type.type-stolen { color: var(--radio-red); }
.market-status { padding: .2rem .38rem; color: var(--radio-amber); border: 1px solid color-mix(in srgb, var(--radio-amber) 38%, transparent); border-radius: .2rem; font: 700 .58rem ui-monospace, monospace; letter-spacing: .08em; }
.market-card h2 { margin: .85rem 0 .4rem; font-size: 1.03rem; line-height: 1.35; }
.market-card h2 a { color: var(--bs-body-color); text-decoration: none; }
.market-meta { min-height: 2.3rem; margin-bottom: .9rem; color: var(--bs-secondary-color); font-size: .78rem; }
.market-card-footer { display: flex; justify-content: space-between; gap: .5rem; align-items: end; padding-top: .8rem; border-top: 1px solid var(--radio-border); }
.market-card-footer strong { color: var(--radio-cyan-bright); }
.market-card-footer span { color: var(--bs-secondary-color); font-size: .7rem; text-align: right; }
.market-empty { min-height: 25rem; display: grid; place-items: center; align-content: center; gap: .65rem; border: 1px dashed var(--radio-border); border-radius: .55rem; color: var(--bs-secondary-color); }
.market-empty .radio-icon { width: 4rem; height: 4rem; color: var(--radio-cyan); }
.market-empty strong { color: var(--bs-body-color); font-size: 1.25rem; }
.market-pagination { display: flex; justify-content: center; gap: .35rem; margin-top: 2rem; }
.market-pagination a { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; color: var(--bs-secondary-color); border: 1px solid var(--radio-border); border-radius: .3rem; text-decoration: none; }
.market-pagination a.active { color: #061411; border-color: var(--radio-cyan); background: var(--radio-cyan); }
.market-gallery { position: relative; display: grid; place-items: center; min-height: 28rem; overflow: hidden; border: 1px solid var(--radio-border); border-radius: .6rem; background: #050c10; box-shadow: var(--radio-shadow); }
.market-gallery .carousel-inner, .market-gallery .carousel-item { height: 100%; }
.market-gallery .carousel-item img { width: 100%; height: 100%; min-height: 28rem; max-height: 44rem; object-fit: contain; }
.market-gallery-count { position: absolute; right: 1rem; bottom: 1rem; z-index: 3; padding: .45rem .6rem; color: #dffaf6; border-radius: .3rem; background: rgba(3,13,17,.8); font: 700 .7rem ui-monospace, monospace; }
.market-no-image { display: flex; flex-direction: column; gap: 1rem; color: var(--bs-secondary-color); }
.market-no-image .radio-icon { width: 5rem; height: 5rem; color: var(--radio-cyan); }
.market-detail-price { margin: 1rem 0 1.5rem; color: var(--radio-cyan-bright); font: 600 clamp(1.8rem, 5vw, 2.7rem) ui-monospace, monospace; }
.market-manage-actions { display: flex; flex-wrap: nowrap; align-items: center; gap: .55rem; }
.market-manage-actions form { display: flex; margin: 0; }
.market-manage-actions .btn { display: inline-flex; align-items: center; gap: .42rem; border-width: 1px; white-space: nowrap; font-weight: 750; box-shadow: 0 5px 16px rgba(0, 0, 0, .08); }
.market-manage-actions .radio-icon { width: 1.05rem; height: 1.05rem; }
.market-facts { border-top: 1px solid var(--radio-border); }
.market-facts > div { display: flex; justify-content: space-between; gap: 1rem; padding: .8rem 0; border-bottom: 1px solid var(--radio-border); }
.market-facts span { color: var(--bs-secondary-color); font-size: .78rem; }
.market-facts strong { text-align: right; font-size: .88rem; }
.market-description, .market-contact { height: 100%; padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid var(--radio-border); border-radius: .55rem; background: color-mix(in srgb, var(--radio-panel) 94%, transparent); }
.market-description p { margin: 0; line-height: 1.75; overflow-wrap: anywhere; }
.market-url-link { color: var(--radio-cyan-bright); overflow-wrap: anywhere; word-break: break-word; text-decoration-thickness: 1px; text-underline-offset: .18em; }
.market-url-toggle { margin-inline-start: .45rem; padding: 0; color: var(--bs-secondary-color); border: 0; background: transparent; font: inherit; font-size: .78em; line-height: inherit; text-decoration: underline; text-underline-offset: .18em; white-space: nowrap; cursor: pointer; }
.market-url-toggle:hover, .market-url-toggle:focus-visible { color: var(--radio-cyan-bright); }
.market-contact { color: #c7eee8; background: linear-gradient(145deg, #14282f, #091217); box-shadow: var(--radio-shadow); }
.market-safety { display: flex; gap: .5rem; color: #819da0; font-size: .72rem; line-height: 1.5; }
.market-editor { display: grid; gap: 1.25rem; }
.market-editor-section { padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid var(--radio-border); border-radius: .55rem; background: color-mix(in srgb, var(--radio-panel) 94%, transparent); box-shadow: 0 15px 42px rgba(0,0,0,.08); animation: panel-arrival .45s ease-out both; }
.market-editor .form-control, .market-editor .form-select { border-color: var(--radio-border); background-color: color-mix(in srgb, var(--radio-panel-2) 90%, transparent); }
.market-mode-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: .75rem; }
.market-mode input { position: absolute; opacity: 0; pointer-events: none; }
.market-mode > span { display: flex; flex-direction: column; align-items: flex-start; gap: .35rem; height: 100%; padding: 1rem; border: 1px solid var(--radio-border); border-radius: .45rem; cursor: pointer; transition: border-color .2s, background .2s; }
.market-mode .radio-icon { width: 1.65rem; height: 1.65rem; color: var(--radio-cyan); margin-bottom: .35rem; }
.market-mode small { color: var(--bs-secondary-color); line-height: 1.35; }
.market-mode input:checked + span { border-color: var(--radio-cyan); background: color-mix(in srgb, var(--radio-cyan) 9%, transparent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--radio-cyan) 30%, transparent); }
.market-upload { display: grid; place-items: center; gap: .5rem; min-height: 11rem; padding: 1.5rem; text-align: center; border: 1px dashed color-mix(in srgb, var(--radio-cyan) 50%, transparent); border-radius: .5rem; cursor: pointer; background: color-mix(in srgb, var(--radio-cyan) 4%, transparent); }
.market-upload:hover { background: color-mix(in srgb, var(--radio-cyan) 8%, transparent); }
.market-upload .radio-icon { width: 2.5rem; height: 2.5rem; color: var(--radio-cyan); }
.market-upload span { color: var(--bs-secondary-color); font-size: .78rem; }
.market-upload input { width: min(100%, 28rem); font-size: .82rem; }
.market-preview, .market-existing-images { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: .75rem; margin-top: 1rem; }
.market-preview img, .market-existing-images img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border: 1px solid var(--radio-border); border-radius: .35rem; }
.market-existing-images > div { position: relative; }
.market-existing-images button { position: absolute; top: .35rem; right: .35rem; display: grid; place-items: center; width: 2rem; height: 2rem; color: #fff; border: 0; border-radius: 50%; background: rgba(155,35,31,.9); }

.hero-section .eyebrow, .hero-section h1, .hero-copy, .hero-section .d-flex { animation: content-arrival .55s ease-out both; }
.hero-section h1 { animation-delay: .08s; }
.hero-copy { animation-delay: .16s; }
.hero-section .d-flex { animation-delay: .24s; }
.module-card { animation: content-arrival .5s ease-out both; }
.row > div:nth-child(2) .module-card { animation-delay: .07s; }
.row > div:nth-child(3) .module-card { animation-delay: .14s; }

@keyframes scan { from { transform: translateX(-100%); } to { transform: translateX(660%); } }
@keyframes content-arrival { from { opacity: 0; transform: translateY(9px); } to { opacity: 1; transform: translateY(0); } }
@keyframes panel-arrival { from { opacity: 0; transform: translateY(12px) scale(.992); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes meter-breathe { 0%, 100% { transform: scaleX(.88); opacity: .82; } 50% { transform: scaleX(1); opacity: 1; } }
@keyframes qso-scan { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes qso-arrival { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }
@keyframes scope-sweep { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition: none !important; }
}
@media (max-width: 575.98px) { .hero-section { min-height: auto; } .receiver-panel { padding: 1rem; } .receiver-controls { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 767.98px) { .error-console { grid-template-columns: 1fr; } .error-scope { width: min(72vw, 15rem); margin: 0 auto; } }
@media (max-width: 1199.98px) { .home-market-card { grid-template-columns: 9rem 1fr; min-height: 11rem; } .home-market-image { min-height: 11rem; } }
@media (max-width: 991.98px) { .home-service-grid, .home-market-grid { grid-template-columns: 1fr; } .home-service-card p { min-height: auto; } .home-market-card { grid-template-columns: 11rem 1fr; } }
@media (max-width: 767.98px) { .home-market-heading, .home-services-heading { align-items: flex-start; flex-direction: column; } }
@media (max-width: 575.98px) { .home-service-card { flex-direction: column; } .home-market-card { grid-template-columns: 7rem 1fr; min-height: 10rem; } .home-market-image { min-height: 10rem; } .home-market-kicker time { display: none; } .home-join { grid-template-columns: 1fr; } .home-join > div { width: 3.3rem; height: 3.3rem; } }
@media (max-width: 575.98px) { .home-block-admin-item { align-items: flex-start; flex-wrap: wrap; } .home-block-admin-order { display: flex; align-items: center; } }
@media (max-width: 575.98px) { .profile-data-grid { grid-template-columns: 1fr; } .profile-data-grid .profile-wide { grid-column: auto; } }
@media (max-width: 767.98px) { .account-data-grid { grid-template-columns: 1fr; } }
@media (max-width: 991.98px) { .directory-stats { justify-content: flex-start; } .directory-mode-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .station-login-panel { grid-template-columns: auto 1fr; } .station-login-panel .btn { grid-column: 1 / -1; } }
@media (max-width: 575.98px) { .directory-mode-grid, .directory-result-grid, .station-data-grid, .station-radio-grid { grid-template-columns: 1fr; } .directory-search-line { grid-template-columns: auto 1fr; padding: .7rem; } .directory-search-line .btn { grid-column: 1 / -1; } .directory-idle { flex-direction: column; text-align: center; } .directory-result-meta { flex-direction: column; gap: .3rem; } .station-header { align-items: flex-start; } .station-signal { display: none; } .station-data-grid .station-wide { grid-column: auto; } }
@media (max-width: 991.98px) { .market-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } .market-category-drawer > summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.15rem; border: 1px solid var(--radio-border); border-radius: .5rem; background: color-mix(in srgb, var(--radio-panel) 94%, transparent); cursor: pointer; list-style: none; } .market-category-drawer > summary::-webkit-details-marker { display: none; } .market-category-drawer > summary span { display: inline-flex; align-items: center; gap: .55rem; font-weight: 700; } .market-category-drawer > summary b { color: var(--radio-amber); font: 700 .72rem ui-monospace, monospace; } .market-category-drawer[open] > summary { border-radius: .5rem .5rem 0 0; } .market-categories { position: static; border-top: 0; border-radius: 0 0 .5rem .5rem; } .market-categories-heading { display: none !important; } .market-mode-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 575.98px) { .market-search-field { grid-template-columns: auto 1fr; } .market-search-field .btn { grid-column: 1 / -1; } .market-grid { grid-template-columns: 1fr; } .market-mode-grid { grid-template-columns: 1fr; } .market-preview, .market-existing-images { grid-template-columns: repeat(2,minmax(0,1fr)); } .market-gallery, .market-gallery .carousel-item img { min-height: 18rem; } }
@media (max-width: 991.98px) { .qsl-data { grid-template-columns: repeat(3, minmax(0, 1fr)); } .qsl-data div { border-bottom: 1px solid rgba(102,222,208,.14); } .qsl-data div:nth-child(3n) { border-right: 0; } .qsl-data div:nth-last-child(-n+3) { border-bottom: 0; } .logbook-admin-stats { grid-template-columns: repeat(2, minmax(0,1fr)); } .logbook-admin-stats div:nth-child(2) { border-right: 0; } .logbook-admin-stats div:nth-child(-n+2) { border-bottom: 1px solid var(--radio-border); } }
@media (max-width: 767.98px) { .logbook-table-wrap { overflow: visible; border: 0; background: transparent; box-shadow: none; } .logbook-table, .logbook-table tbody, .logbook-table tr, .logbook-table td { display: block; width: 100%; } .logbook-table thead { display: none; } .logbook-table tbody { display: grid; gap: .75rem; } .logbook-table tbody tr { padding: .55rem 1rem; border: 1px solid var(--radio-border); border-radius: .55rem; background: color-mix(in srgb, var(--radio-panel) 95%, transparent); box-shadow: 0 10px 28px rgba(0,0,0,.06); } .logbook-table tbody td { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .55rem 0; border-bottom: 1px solid var(--radio-border); text-align: right; } .logbook-table tbody td::before { content: attr(data-label); flex: 0 0 auto; color: var(--bs-secondary-color); font: 700 .56rem ui-monospace, monospace; letter-spacing: .08em; text-transform: uppercase; } .logbook-table tbody td:last-child { border-bottom: 0; } .logbook-contact { min-width: 0; } .logbook-table time, .logbook-table td:nth-child(3) { justify-items: end; } .qsl-card { min-height: 0; } .qsl-calls { grid-template-columns: 1fr; gap: 1rem; } .qsl-calls > span { transform: rotate(90deg); } .qsl-data { grid-template-columns: repeat(2, minmax(0, 1fr)); } .qsl-data div:nth-child(3n) { border-right: 1px solid rgba(102,222,208,.14); } .qsl-data div:nth-child(even) { border-right: 0; } .qsl-data div:nth-last-child(-n+3) { border-bottom: 1px solid rgba(102,222,208,.14); } .qsl-data div:nth-last-child(-n+2) { border-bottom: 0; } }
@media (max-width: 575.98px) { .receiver-qso { align-items: flex-start; flex-direction: column; } .receiver-qso > b { text-align: left; } .receiver-qso-meta { grid-template-columns: 1fr 1fr; } .receiver-qso-meta a { grid-column: 1 / -1; grid-row: 2; text-align: center; } .logbook-stat-grid, .logbook-admin-stats { grid-template-columns: 1fr; } .logbook-stat-grid div, .logbook-admin-stats div { border-right: 0; border-bottom: 1px solid var(--radio-border) !important; } .logbook-stat-grid div:last-child, .logbook-admin-stats div:last-child { border-bottom: 0 !important; } .logbook-search-field { grid-template-columns: auto 1fr; } .logbook-search-field .btn { grid-column: 1 / -1; } .qsl-toolbar { flex-direction: column; } .qsl-card header, .qsl-card footer { align-items: flex-start; flex-direction: column; } }
@media print { @page { size: landscape; margin: 12mm; } .radio-header, body > footer, .signal-grid, .qsl-toolbar, .qsl-screen-note { display: none !important; } body, main, .logbook-qsl-page { min-height: 0 !important; padding: 0 !important; margin: 0 !important; background: #fff !important; } .qsl-card { width: 100%; min-height: 0; color: #102c2d; border: 1px solid #315e5d; background: #f2fbf8 !important; box-shadow: none; print-color-adjust: exact; -webkit-print-color-adjust: exact; } .qsl-card::after, .qsl-scope { display: none; } .qsl-card header strong, .qsl-calls strong, .qsl-data dd { color: #123f3e; text-shadow: none; } .qsl-card header span, .qsl-card header b, .qsl-card footer, .qsl-calls small, .qsl-confirmation, .qsl-data dt { color: #476968; } .qsl-data { border-color: #8aa; background: #fff; } }
