.newsnow-heading {
    display: flex;
    justify-content: space-between;
    gap: 28px;
    align-items: end;
    padding: 30px 0 20px;
}

.newsnow-kicker {
    color: var(--accent);
    font: 700 10px var(--sans);
    letter-spacing: .13em;
    text-transform: uppercase;
}

.newsnow-heading h1,
.newsnow-heading h2,
.extension-card h2 {
    margin: 5px 0 6px;
    font: 700 clamp(30px, 4vw, 52px)/1 var(--serif);
    letter-spacing: -.035em;
}

.newsnow-heading p,
.extension-card p { margin: 0; color: var(--muted); }

.companion-status {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 38px;
    padding: 8px 10px 8px 12px;
    border: 1px solid var(--line);
    background: var(--card);
    font-size: 12px;
    white-space: nowrap;
}

.status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #b78717;
    box-shadow: 0 0 0 3px rgba(183, 135, 23, .13);
}

.companion-status[data-state="ready"] .status-dot { background: #278253; box-shadow: 0 0 0 3px rgba(39, 130, 83, .13); }
.companion-status[data-state="missing"] .status-dot { background: var(--accent); }

.companion-enable {
    border: 0;
    border-left: 1px solid var(--line);
    padding: 4px 3px 4px 11px;
    background: transparent;
    color: var(--accent);
    cursor: pointer;
    font: 700 10px var(--sans);
    letter-spacing: .06em;
    text-transform: uppercase;
}

.newsnow-frame-wrap {
    overflow: hidden;
    border: 1px solid #2a3037;
    border-radius: 8px;
    background: #05070a;
    box-shadow: 0 12px 38px rgba(13, 19, 17, .18);
}

.newsnow-frame {
    display: block;
    width: 100%;
    height: clamp(620px, 72vh, 920px);
    border: 0;
    background: #05070a;
}

.newsnow-privacy {
    margin: 10px 0 28px;
    color: var(--muted);
    font-size: 11px;
    text-align: center;
}

.extension-dialog {
    width: min(590px, calc(100% - 24px));
    padding: 0;
    border: 1px solid var(--line);
    background: var(--paper);
    color: var(--ink);
    box-shadow: 0 24px 90px rgba(0, 0, 0, .35);
}

.extension-dialog::backdrop { background: rgba(5, 7, 10, .72); backdrop-filter: blur(3px); }
.extension-card { position: relative; padding: 30px; }
.extension-card h2 { font-size: 34px; }
.dialog-close { position: absolute; top: 12px; right: 14px; border: 0; background: transparent; color: var(--muted); cursor: pointer; font-size: 28px; }
.extension-actions { display: flex; flex-wrap: wrap; gap: 9px; margin: 24px 0 18px; }
.extension-actions .btn { flex: 1 1 auto; text-align: center; }
.manual-install { padding-top: 14px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }
.manual-install summary { color: var(--ink); cursor: pointer; font-weight: 700; }
.manual-install ol { padding-left: 20px; line-height: 1.7; }
.manual-install small { display: block; line-height: 1.5; }

@media (max-width: 700px) {
    .newsnow-heading { display: block; }
    .companion-status { margin-top: 18px; white-space: normal; }
    .newsnow-frame { height: 76vh; min-height: 600px; }
    .extension-actions { display: grid; }
}
