/* Text links keep their native navigation behaviour, with a shared compact button style. */
body[data-area] :is(a[href],button.text-button):not(:where(.button,.brand,.fan-brand,.skip,.powered-by)){
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    max-width:100%;
    min-height:32px;
    margin:3px 4px 3px 0;
    padding:5px 9px;
    border:1px solid var(--compact-link-border,#ccd8d1);
    border-radius:6px;
    background:var(--compact-link-background,#fff);
    color:var(--compact-link-colour,var(--area-colour,#123d32));
    font-size:12px;
    font-weight:600;
    line-height:1.4;
    text-align:center;
    text-decoration:none;
    white-space:normal;
    overflow-wrap:anywhere;
    vertical-align:middle;
}
body[data-area] :is(a[href],button.text-button):not(:where(.button,.brand,.fan-brand,.skip,.powered-by)):hover{
    background:var(--compact-link-hover,var(--area-soft,#edf5f0));
    border-color:var(--compact-link-colour,var(--area-colour,#123d32));
    text-decoration:none;
}
body[data-area] :is(a[href],button.text-button):not(:where(.button,.brand,.fan-brand,.skip,.powered-by)):focus-visible{
    outline:3px solid var(--compact-link-colour,var(--area-colour,#123d32));
    outline-offset:3px;
}
body[data-area] button.text-button:disabled{opacity:.5;cursor:not-allowed}
.link-danger{
    --compact-link-colour:#9c252b;
    --compact-link-border:#e5bfc2;
    --compact-link-background:#fff7f7;
    --compact-link-hover:#fce7e9;
}
body[data-area] .sidebar a.nav-link{display:flex;justify-content:flex-start;gap:10px;margin:5px 0;text-align:left}
body[data-area] .sidebar a.nav-link.active{border-color:var(--area-colour,#123d32)}
body[data-area] .fan-header nav{gap:6px}
body[data-area] .fan-header nav a{margin:0}
.settings-links{flex-wrap:wrap;gap:6px}
.campaign-name-cell{white-space:normal;min-width:250px}
.campaign-row-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:220px;max-width:440px;margin-top:10px}
.campaign-row-actions form{display:inline-flex;margin:0}
body[data-area] .campaign-row-actions :is(a,button.text-button){margin:0}
body[data-area] .game-card a:not(.button){margin-top:12px}
@media(max-width:760px),(pointer:coarse){
    body[data-area] :is(a[href],button.text-button):not(:where(.button,.brand,.fan-brand,.skip,.powered-by)){min-height:44px;padding:8px 10px}
    body[data-area] .fan-header nav[data-mobile-menu]>a{justify-content:flex-start;text-align:left}
}
