/* Installed-library and optional installation sheets inherit TFC's Paper/Night tokens. */
.tfc-install ol { padding-left:1.5rem; display:grid; gap:1rem; }
.tfc-install li { padding-left:.25rem; }
.tfc-install strong { display:block; margin-bottom:.25rem; color:var(--fg); }
.tfc-control-examples { display:flex; gap:.6rem; flex-wrap:wrap; margin:.6rem 0; }
.tfc-control-examples span { flex:1 1 130px; padding:.65rem; border:1px solid var(--line); border-radius:var(--radius); background:var(--bg-elev); font-size:.9em; }
.tfc-control-examples svg { display:block; width:32px; height:32px; margin-bottom:.35rem; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.tfc-offline { width:100%; min-width:0; overflow-wrap:anywhere; }
.tfc-offline .offline-intro { height:4.5em; overflow:hidden; margin:0 0 1rem; color:var(--fg); line-height:1.5; }
.tfc-offline .offline-progress-heading { display:flex; justify-content:space-between; align-items:baseline; gap:1rem; color:var(--fg); font-weight:600; }
.tfc-offline [data-percent] { font-variant-numeric:tabular-nums; }
.tfc-offline progress { display:block; width:100%; height:1rem; accent-color:var(--accent); margin:.55rem 0 .4rem; }
.tfc-offline .offline-bytes { min-height:1.5em; margin:0 0 .7rem; color:var(--fg); font-variant-numeric:tabular-nums; }
.tfc-offline .offline-status { display:flex; align-items:center; min-height:3.4em; max-height:3.4em; overflow:hidden; margin:0 0 .9rem; padding:.55rem .7rem; background:var(--bg-elev); border-radius:var(--radius); line-height:1.25; }
.tfc-offline[data-phase="complete"] .offline-status { border-inline-start:3px solid var(--accent); }
.tfc-offline[data-phase="storage"] .offline-status,.tfc-offline[data-phase="interrupted"] .offline-status,.tfc-offline[data-phase="offline"] .offline-status { border-inline-start:3px solid var(--accent); }
.tfc-offline .offline-actions { display:flex; gap:.6rem; width:100%; }
.tfc-offline .offline-actions button { flex:1 1 0; min-width:0; min-height:46px; white-space:normal; }
.tfc-offline [data-prepare]:disabled { opacity:.6; cursor:default; }
.tfc-offline .offline-storage { min-height:2.6em; margin:.8rem 0 0; }
.tfc-offline button,.tfc-install button { min-height:44px; }
.tfc-offline button:disabled { opacity:.55; cursor:default; }
.tfc-small { font-size:.88em; color:var(--muted); }
.tfc-install,.tfc-offline { overflow-wrap:anywhere; }
.tfc-install a:focus-visible,.tfc-offline button:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
.tfc-library-sheet { max-width:600px; max-height:calc(100dvh - 40px - var(--safe-bottom)); display:flex; flex-direction:column; }
.tfc-library-sheet > h3,.tfc-library-sheet > button { flex-shrink:0; }
.tfc-library-sheet .tfc-sheet-body { overflow-y:auto; overscroll-behavior:contain; min-height:0; }
.tfc-library-sheet > #tfc-sheet-close[hidden] { display:none; }
@media (max-width:360px) {
  .tfc-library-sheet { padding:16px 14px 14px; }
  .tfc-offline .offline-actions { gap:.45rem; }
  .tfc-offline .offline-actions button { height:66px; box-sizing:border-box; }
}
