/* Private worksheet library. Copyright © 2026 Yunfei Wang. */
.cloud-library-account {
  display: grid;
  gap: .45rem;
  min-width: 0;
  padding: .8rem .9rem;
  border: 1px solid var(--brand-100, #dde2fd);
  border-radius: var(--radius-md, 10px);
  background: var(--brand-50, #eef0fe);
}
.cloud-library-account-title { font: 600 .98rem/1.3 var(--serif, inherit); color: var(--brand, #0f172a); }
.cloud-library-account-detail { margin: 0; font-size: .75rem; line-height: 1.45; color: var(--ink-2, #334155); overflow-wrap: anywhere; }
.cloud-library-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .4rem; min-width: 0; }
.cloud-library-account .btn, .cloud-library-account .chip { font-size: .74rem; }
.cloud-library-status, .cloud-library-error { margin: 0; font-size: .72rem; line-height: 1.5; overflow-wrap: anywhere; }
.cloud-library-status { color: var(--muted, #64748b); }
.cloud-library-status[data-state="error"], .cloud-library-status[data-state="failed"], .cloud-library-error { color: #9f2330; }
.cloud-library-status[data-state="synced"], .cloud-library-status[data-state="saved"] { color: #087443; }
.cloud-library-import { justify-self: start; max-width: 100%; white-space: normal; text-align: left; line-height: 1.4; }
.cloud-library-save-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .45rem; }
.cloud-library-save-row #savePaperNameInput { grid-column: 1 / -1; width: 100%; min-width: 0; box-sizing: border-box; }
.cloud-library-save-row #savePaperBtn, .cloud-library-save-row .cloud-library-update { min-width: 0; white-space: normal; }
.cloud-library-save-row .cloud-library-update { border: 1px solid var(--line-strong, #cfd6e2); }
.cloud-library-save-row:has(> .cloud-library-update[hidden]) #savePaperBtn { grid-column: 1 / -1; }
.cloud-library-export-current { max-width: 100%; white-space: normal; line-height: 1.4; }
.cloud-library-metadata, .cloud-library-filter-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: .5rem; min-width: 0; }
.cloud-library-metadata > div, .cloud-library-filter-row > div { display: flex; flex-direction: column; min-width: 0; }
.cloud-library-metadata .form-label, .cloud-library-filter-row .form-label, .cloud-library-sort .form-label { margin: 0 0 .3rem; font-size: .7rem; }
.cloud-library-metadata input, .cloud-library-filters input, .cloud-library-filters select { box-sizing: border-box; width: 100%; min-width: 0; font-size: .78rem; }
.cloud-library-metadata input[type="date"] { padding-left: .45rem; padding-right: .35rem; }
.cloud-library-filters { min-width: 0; padding-top: .55rem; border-top: 1px solid var(--line, #e4e8f0); }
.cloud-library-filters > summary { display: flex; justify-content: space-between; align-items: center; gap: .5rem; cursor: pointer; list-style: none; font-size: .75rem; font-weight: 650; color: var(--ink-2, #334155); }
.cloud-library-filters > summary::-webkit-details-marker { display: none; }
.cloud-library-filters > summary::after { content: '+'; color: var(--muted, #64748b); font-size: 1rem; line-height: 1; }
.cloud-library-filters[open] > summary::after { content: '−'; }
.cloud-library-filters-body { display: grid; gap: .5rem; padding-top: .6rem; }
.cloud-library-filters:not([open]) .cloud-library-filters-body { display: none; }
.cloud-library-filters > summary:focus-visible { outline: 3px solid var(--brand-100, #dde2fd); outline-offset: 3px; border-radius: 3px; }
.cloud-library-sort { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: .5rem; }
.cloud-library-sort .form-label { margin: 0; }
.cloud-library-dialog {
  box-sizing: border-box;
  width: min(440px, calc(100vw - 2rem));
  height: fit-content;
  max-height: calc(100dvh - 2rem);
  align-content: start;
  margin: auto;
  padding: 1.25rem;
  border: 1px solid var(--line-strong, #cfd6e2);
  border-radius: var(--radius-lg, 14px);
  background: var(--paper, #fff);
  color: var(--ink, #0f172a);
  box-shadow: 0 16px 60px rgb(15 23 42 / 25%);
  overflow-y: auto;
}
.cloud-library-dialog:not([open]) { display: none; }
.cloud-library-dialog[open] { display: grid; gap: .9rem; }
.cloud-library-dialog::backdrop { background: rgb(15 23 42 / 45%); backdrop-filter: blur(2px); }
.cloud-library-dialog[aria-modal="true"] { position: fixed; inset: 0; z-index: 1000; }
.cloud-library-dialog-head { display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; }
.cloud-library-dialog-head h2 { margin: 0; font: 600 1.3rem/1.3 var(--serif, inherit); }
.cloud-library-dialog-close { display: grid; flex: none; place-items: center; width: 30px; height: 30px; margin-top: -.2rem; border: 0; border-radius: 6px; background: transparent; color: var(--muted, #64748b); font: 1.5rem/1 sans-serif; cursor: pointer; }
.cloud-library-dialog-close:hover { background: #f1f4f9; color: var(--ink, #0f172a); }
.cloud-library-dialog-description { margin: 0; font-size: .85rem; line-height: 1.5; color: var(--ink-2, #334155); }
.cloud-library-auth-form { display: grid; align-content: start; gap: .8rem; min-width: 0; }
.cloud-library-auth-form > div:not(.cloud-library-actions) { display: grid; align-content: start; gap: .3rem; min-width: 0; }
.cloud-library-auth-form .form-label { margin: 0; font-size: .8rem; }
.cloud-library-auth-form .form-input { width: 100%; box-sizing: border-box; min-width: 0; font-size: 1rem; }
.cloud-library-auth-form .form-input[readonly] { color: var(--muted, #64748b); background: #f8fafc; }
.cloud-library-auth-form .cloud-library-code { letter-spacing: .22em; font-variant-numeric: tabular-nums; }
.cloud-library-auth-help { margin: 0; color: var(--muted, #64748b); font-size: .75rem; line-height: 1.5; }
.cloud-library-auth-notice { margin: 0; padding: .6rem .7rem; border-radius: 7px; background: #f1f4f9; font-size: .8rem; line-height: 1.5; overflow-wrap: anywhere; }
.cloud-library-auth-notice.cloud-library-error { background: #fff0f1; color: #9f2330; }
.cloud-library-google { width: 100%; background: #fff; color: var(--ink, #0f172a); border: 1px solid var(--line-strong, #cfd6e2); }
.cloud-library-google:hover { background: #f8fafc; }
.cloud-library-dialog :is(button, input):focus-visible, .cloud-library-account button:focus-visible { outline: 3px solid var(--brand-100, #dde2fd); outline-offset: 2px; }
.cloud-library-account [hidden], .cloud-library-dialog [hidden], .cloud-library-filters[hidden], .cloud-library-filters [hidden], .cloud-library-metadata [hidden], .cloud-library-update[hidden] { display: none !important; }
@media (max-width: 380px) {
  .cloud-library-metadata, .cloud-library-filter-row { grid-template-columns: minmax(0, 1fr); }
  .cloud-library-dialog { padding: 1rem; }
}
@media print {
  .cloud-library-account, .cloud-library-dialog, .cloud-library-metadata, .cloud-library-filters, .cloud-library-update { display: none !important; }
}
