/* Banana News - Offline pack (manage page + reader), v3.0. Mobile-first, uses the site's CSS variables where they exist, safe in light/dark, RTL-friendly (logical properties). */
.op { max-width: 46rem; margin-inline: auto; padding-block: .5rem 2rem; }
.op h1 { margin: .4rem 0 .2rem; }
.op-sub { margin: 0 0 1rem; color: var(--muted); }
.op-card { background: var(--panel); border: 1px solid var(--line); border-radius: 14px; padding: .9rem 1rem; margin: 0 0 1rem; }
.op-card h2 { font-size: 1.05rem; margin: 0 0 .5rem; }
.op-status { font-weight: 600; margin: .2rem 0; }
.op-warn { background: var(--chip); border-inline-start: 4px solid var(--gold); padding: .45rem .7rem; border-radius: 6px; margin: .5rem 0; }
.op-msg { min-height: 1.4em; margin: .4rem 0; }
.op-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin: .6rem 0; }
.op-actions .btn { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.op-auto { display: flex; gap: .55rem; align-items: flex-start; margin: .5rem 0; min-height: 44px; }
.op-auto input { width: 1.3rem; height: 1.3rem; margin-top: .1rem; flex: none; }
.op progress { width: 100%; height: .7rem; accent-color: var(--brand); }
.op-tablewrap { overflow-x: auto; max-width: 100%; }
.op-tablewrap:focus-visible { outline: 3px solid var(--brand); outline-offset: 2px; }
.op-table { border-collapse: collapse; width: 100%; font-size: .95rem; }
.op-table th, .op-table td { padding: .4rem .55rem; text-align: start; border-bottom: 1px solid var(--line); }
.op-table thead th { font-size: .8rem; text-transform: uppercase; letter-spacing: .03em; color: var(--muted); }
.op-table tr.on th, .op-table tr.on td { background: var(--chip); font-weight: 600; }
/* reader */
.op-rhead { border-bottom: 1px solid var(--line); background: var(--panel); }
.op-rhead .wrap { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding-block: .55rem; }
.op-net { font-size: .85rem; padding: .15rem .6rem; border-radius: 99px; border: 1px solid var(--line); }
.op-net.off { background: var(--del-bg); color: var(--del-fg); }
.op-net.on { background: var(--ins-bg); color: var(--ins-fg); }
.op-ab { background: var(--panel); border: 1px solid var(--line); border-radius: 14px; padding: .75rem .9rem; margin: 0 0 .8rem; }
.op-ab h3 { margin: 0 0 .15rem; font-size: 1.05rem; }
.op-audio { width: 100%; margin: .45rem 0; min-height: 44px; }
.op-det { margin: .3rem 0; }
.op-det summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; }
.op-stories { list-style: none; margin: 0; padding: 0; }
.op-story { padding: .75rem 0; border-bottom: 1px solid var(--line); }
.op-story h3 { font-size: 1.05rem; margin: 0 0 .15rem; line-height: 1.3; }
.op-story p { margin: .15rem 0; }
.op-snip { color: inherit; }
.is-offline .op-ext { opacity: .55; }
@media (prefers-reduced-motion: reduce) { .op * { transition: none !important; animation: none !important; } }
.op [hidden], .op-reader [hidden] { display: none !important; }
