@import url("./library-view-switcher.css");

/* Library card/filter polish patch. Loaded after main.css and library-filter-panel.css. */
body[data-page="library"] .page-stack-wide.library-stack {
  max-width: min(1840px, calc(100vw - 96px));
}

body[data-page="library"] .library-panel.library-panel-full {
  display: grid !important;
  grid-template-columns: 286px minmax(0, 1fr);
  grid-template-areas:
    "filters header"
    "filters summary"
    "filters results";
  column-gap: 22px;
  align-items: start;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

body[data-page="library"] .library-panel.library-panel-full::before,
body[data-page="library"] .library-panel.library-panel-full::after {
  display: none !important;
  content: none !important;
}

body[data-page="library"] .library-panel-header,
body[data-page="library"] .library-summary-divider-row {
  padding-right: 0;
  padding-left: 0;
}

body[data-page="library"] .library-panel-header {
  grid-area: header;
}

body[data-page="library"] .library-summary-divider-row {
  grid-area: summary;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 10px;
  margin: 18px 0 24px;
  padding-bottom: 0;
  border-bottom: 0;
}

body[data-page="library"] .library-summary-item {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 60px;
  align-content: center;
  justify-items: start;
  padding: 8px 10px 8px 54px;
  border: 0;
  border-radius: 10px;
  background: color-mix(in srgb, var(--surface-panel) 94%, transparent);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.04);
}

body[data-page="library"] .library-summary-item:first-child,
body[data-page="library"] .library-summary-item:last-child {
  padding-right: 10px;
  padding-left: 54px;
}

body[data-page="library"] .library-summary-item::after {
  display: none;
}

body[data-page="library"] .library-summary-item::before {
  position: absolute;
  top: 50%;
  left: 14px;
  z-index: 1;
  width: 30px;
  height: 30px;
  background: var(--library-summary-icon-color, var(--accent));
  content: "";
  transform: translateY(-50%);
  -webkit-mask: var(--library-summary-icon) center / contain no-repeat;
  mask: var(--library-summary-icon) center / contain no-repeat;
}

body[data-page="library"] .library-summary-item:nth-child(1) {
  --library-summary-icon-color: #a97337;
  --library-summary-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M30.156 26.492l-6.211-23.184c-.327-1.183-1.393-2.037-2.659-2.037-.252 0-.495.034-.727.097l.019-.004-2.897.776c-.325.094-.609.236-.86.42l.008-.005c-.49-.787-1.349-1.303-2.33-1.306h-2.998c-.789.001-1.5.337-1.998.873l-.002.002c-.5-.537-1.211-.873-2-.874h-3c-1.518.002-2.748 1.232-2.75 2.75v24c.002 1.518 1.232 2.748 2.75 2.75h3c.789-.002 1.5-.337 1.998-.873l.002-.002c.5.538 1.211.873 2 .875h2.998c1.518-.002 2.748-1.232 2.75-2.75V11.152l4.699 17.54c.327 1.182 1.392 2.035 2.656 2.037h.005c.251 0 .494-.034.725-.098l-.019.005 2.898-.775c1.182-.326 2.036-1.392 2.036-2.657 0-.252-.034-.497-.098-.729l.005.019zM18.415 9.708l5.31-1.423 3.753 14.007-5.311 1.422zM18.068 3.59l2.896-.776c.097-.027.209-.043.325-.043.575 0 1.059.389 1.204.918l.002.009.841 3.139-5.311 1.423-.778-2.905V4.3c.153-.347.449-.607.812-.708l.009-.002zM11.5 2.75h2.998c.69.001 1.249.56 1.25 1.25v3.249l-5.498.001V4c.001-.69.56-1.249 1.25-1.25zM8.75 23.25h-5.5V8.75l5.5-.001zm1.5-14.5 5.498-.001V23.25H10.25zM4.5 2.75h3c.69.001 1.249.56 1.25 1.25v3.249l-5.5.001V4c.001-.69.56-1.249 1.25-1.25zm3 26.5h-3c-.69-.001-1.249-.56-1.25-1.25v-3.25h5.5V28c-.001.69-.56 1.249-1.25 1.25zm6.998 0H11.5c-.69-.001-1.249-.56-1.25-1.25v-3.25h5.498V28c-.001.69-.56 1.249-1.25 1.25zm14.082-1.424c-.164.285-.43.495-.747.582l-.009.002-2.898.775c-.096.026-.206.041-.319.041-.575 0-1.06-.387-1.208-.915l-.002-.009-.841-3.14 5.311-1.422.841 3.14c.027.096.042.207.042.321 0 .23-.063.446-.173.63l.003-.006z'/%3E%3C/svg%3E");
}

body[data-page="library"] .library-summary-item:nth-child(2) {
  --library-summary-icon-color: #4f9f62;
  --library-summary-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 800'%3E%3Cpath d='M355.977 482.49 572.729 265.736 606 299.007 355.977 549.03 209.67 402.725 242.941 369.454z'/%3E%3Cpath d='M219.884 87.977C272.876 57.322 334.408 39.777 400 39.777c198.566 0 360.251 161.685 360.251 360.251S598.566 760.28 400 760.28 39.749 598.594 39.749 400.028c0-65.592 17.545-127.124 48.2-180.144' fill='none' stroke='black' stroke-width='54.038'/%3E%3C/svg%3E");
}

body[data-page="library"] .library-summary-item:nth-child(3) {
  --library-summary-icon-color: #3f78c5;
  --library-summary-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M15 4.7V4c-1.159-1.163-2.734-1.91-4.484-1.999a3.058 3.058 0 0 0-.334-.018c-.874 0-1.657.394-2.179 1.013-.556-.617-1.357-1.007-2.249-1.007-.09 0-.178.004-.266.012C3.734 2.09 2.158 2.837 1 4v.7l-1 .3v10l6.7-1.4.3.4h2l.3-.4 6.7 1.4V5zM5.48 11.31c-1.275.037-2.467.358-3.526.902L2 4.42C2.885 3.585 4.066 3.055 5.369 3c.806.054 1.534.303 2.159.701l-.019 7.869a6.514 6.514 0 0 0-2.039-.259zm8.52.88c-1.013-.522-2.205-.843-3.468-.88a6.195 6.195 0 0 0-.161-.002c-.66 0-1.297.096-1.899.274l.047-7.902c.601-.381 1.322-.627 2.096-.679 1.324.055 2.501.586 3.386 1.422z'/%3E%3C/svg%3E");
}

body[data-page="library"] .library-summary-item:nth-child(4) {
  --library-summary-icon-color: #dd8a17;
  --library-summary-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 800'%3E%3Cpath d='M219.884 87.977C272.876 57.322 334.408 39.777 400 39.777c198.566 0 360.251 161.685 360.251 360.251S598.566 760.28 400 760.28 39.749 598.594 39.749 400.028c0-65.592 17.545-127.124 48.2-180.144' fill='none' stroke='black' stroke-width='54.038'/%3E%3Cpath d='M266.667 316.667c0-15.533 0-23.3 2.533-29.433a33.333 33.333 0 0 1 18.034-18.034c6.133-2.533 13.9-2.533 29.433-2.533s23.3 0 29.433 2.533a33.333 33.333 0 0 1 18.034 18.034c2.533 6.133 2.533 13.9 2.533 29.433v166.666c0 15.533 0 23.3-2.533 29.434A33.333 33.333 0 0 1 346.1 530.8c-6.133 2.533-13.9 2.533-29.433 2.533s-23.3 0-29.433-2.533a33.333 33.333 0 0 1-18.034-18.033c-2.533-6.134-2.533-13.901-2.533-29.434zm166.666 0c0-15.533 0-23.3 2.534-29.433a33.333 33.333 0 0 1 18.033-18.034c6.134-2.533 13.901-2.533 29.434-2.533s23.3 0 29.433 2.533a33.333 33.333 0 0 1 18.033 18.034c2.533 6.133 2.533 13.9 2.533 29.433v166.666c0 15.533 0 23.3-2.533 29.434a33.333 33.333 0 0 1-18.033 18.033c-6.134 2.533-13.901 2.533-29.434 2.533s-23.3 0-29.433-2.533a33.333 33.333 0 0 1-18.033-18.033c-2.534-6.134-2.534-13.901-2.534-29.434z' fill='none' stroke='black' stroke-width='40'/%3E%3C/svg%3E");
}

body[data-page="library"] .library-summary-item:nth-child(5) {
  --library-summary-icon-color: #8062b2;
  --library-summary-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 11.0975v4.9934c0 3.0966 0 4.6449.73411 5.3214.35011.3227.79204.5254 1.26281.5792.9871.113 2.13983-.9066 4.44524-2.9457 1.01904-.9013 1.52864-1.352 2.11814-1.4707a2.233 2.233 0 0 1 .8794 0c.5895.1187 1.0991.5694 2.1181 1.4707 2.3055 2.0391 3.4582 3.0587 4.4453 2.9457.4708-.0538.9127-.2565 1.2628-.5792C21 20.7358 21 19.1875 21 16.0909v-4.9934C21 6.80891 21 4.6646 19.682 3.3323 18.364 2 16.2426 2 12 2S5.63604 2 4.31802 3.3323C3.5108 4.14827 3.19796 5.26881 3.07672 7' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round'/%3E%3Cpath d='M15 6H9' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
}

body[data-page="library"] .library-summary-item:nth-child(6) {
  --library-summary-icon-color: #ff6b5f;
  --library-summary-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 6L18 18M18 6L6 18' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E");
}

body[data-page="library"] .library-summary-item:nth-child(7) {
  --library-summary-icon-color: #f04467;
  --library-summary-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 8V5a3 3 0 1 0-6 0v9h9a3 3 0 0 0 0-6H8zm2-2h1a5 5 0 0 1 0 10H0V5a5 5 0 1 1 10 0v1z'/%3E%3C/svg%3E");
}

body[data-page="library"] .library-summary-item:nth-child(7)::before {
  width: 22px;
  height: 22px;
  left: 18px;
}

body[data-page="library"] .library-summary-item .small {
  margin: 0 0 4px;
  color: color-mix(in srgb, var(--muted) 86%, var(--text) 14%);
  font-size: 0.6rem;
  line-height: 1.15;
  letter-spacing: 0.01em;
  text-align: left;
}

body[data-page="library"] .library-summary-item .stat-value {
  color: var(--text);
  font-size: 1.12rem;
  line-height: 1;
  text-align: left;
}

body[data-page="library"] .library-with-filters {
  display: contents;
}

body[data-page="library"] .library-filter-panel {
  grid-area: filters;
  align-self: start;
  width: 100%;
  height: auto;
  max-width: 286px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  gap: 18px;
}

body[data-page="library"] .library-results-shell {
  grid-area: results;
}

body[data-page="library"] .library-filter-head,
body[data-page="library"] .library-filter-section-head {
  padding: 0 2px;
}

body[data-page="library"] .library-filter-list,
body[data-page="library"] .library-quick-filter-list {
  gap: 10px;
}

body[data-page="library"] .library-filter-field,
body[data-page="library"] .library-quick-filter {
  min-height: 56px;
  border-radius: 14px;
  background: color-mix(in srgb, var(--surface-panel) 94%, transparent);
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.055);
}

body[data-page="library"] .library-filter-field {
  grid-template-columns: 24px minmax(0, 1fr) 16px;
  padding: 0 14px;
}

body[data-page="library"] .library-quick-filter {
  grid-template-columns: minmax(0, 1fr);
  justify-items: start;
  padding: 0 14px;
}

body[data-page="library"] .library-favorite-toggle {
  grid-template-columns: 24px minmax(0, 1fr) auto;
}

body[data-page="library"] .library-filter-search {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

body[data-page="library"] .library-filter-search input,
body[data-page="library"] .library-filter-search input[type="text"] {
  min-width: 0 !important;
  width: 100% !important;
  min-height: 42px !important;
  padding: 0 44px 0 46px !important;
  border: 1px solid var(--panel-border) !important;
  border-radius: 999px !important;
  background: var(--surface-control) !important;
  color: var(--text) !important;
  font-size: 0.92rem;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
}

body[data-page="library"] .library-filter-search input:focus {
  outline: none;
  border-color: color-mix(in srgb, var(--accent) 34%, var(--panel-border) 66%) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 14%, transparent) !important;
}

body[data-page="library"] .library-filter-search-icon {
  position: absolute;
  top: 50%;
  left: 12px;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  color: var(--text-secondary);
  pointer-events: none;
  transform: translateY(-50%);
}

body[data-page="library"] .library-filter-search-clear {
  position: absolute;
  top: 50%;
  right: 12px;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--text-secondary);
  font: inherit;
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
  transform: translateY(-50%);
}

body[data-page="library"] .library-filter-search-clear:hover,
body[data-page="library"] .library-filter-search-clear:focus-visible {
  color: var(--text);
  outline: none;
}

body[data-page="library"] .library-filter-caret,
body[data-page="library"] .library-sort-caret {
  display: inline-grid;
  place-items: center;
  width: 16px;
  height: 16px;
}

body[data-page="library"] .library-filter-caret svg,
body[data-page="library"] .library-sort-caret svg {
  display: block;
  width: 14px;
  height: 14px;
}

body[data-page="library"] .library-filter-icon {
  color: color-mix(in srgb, var(--text-secondary) 82%, var(--accent) 18%);
  transition: color 160ms ease, opacity 160ms ease;
}

body[data-page="library"] .library-filter-field:hover .library-filter-icon,
body[data-page="library"] .library-filter-menu[open] > .library-filter-field .library-filter-icon,
body[data-page="library"] .library-favorite-toggle[aria-pressed="true"] .library-filter-icon {
  color: var(--accent);
}

body[data-page="library"] .library-filter-field,
body[data-page="library"] .library-quick-filter,
body[data-page="library"] .library-sort-menu > summary,
body[data-page="library"] .library-page-size-menu > summary,
body[data-page="library"] .library-pagination-button {
  border-color: var(--panel-border);
  background: color-mix(in srgb, var(--surface-panel) 96%, transparent);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.045);
}

body[data-page="library"] .library-filter-field:hover,
body[data-page="library"] .library-quick-filter:hover,
body[data-page="library"] .library-filter-menu[open] > .library-filter-field,
body[data-page="library"] .library-sort-menu[open] > summary,
body[data-page="library"] .library-page-size-menu[open] > summary {
  border-color: color-mix(in srgb, var(--accent) 38%, var(--panel-border) 62%);
  background: color-mix(in srgb, var(--accent-soft) 20%, var(--surface-panel) 80%);
}

body[data-page="library"] .library-sort-row {
  margin-bottom: 14px;
}

body[data-page="library"] .library-sort-menu {
  width: max-content;
  min-width: 0;
  max-width: 100%;
}

body[data-page="library"] .library-sort-menu > summary {
  min-height: 38px;
  padding: 0 12px;
  gap: 6px;
  font-size: 0.82rem;
  white-space: nowrap;
}

body[data-page="library"] .library-sort-options {
  width: min(230px, 80vw);
}

body[data-page="library"] .library-sort-menu > summary,
body[data-page="library"] .library-page-size-menu > summary {
  border-radius: 14px;
}

body[data-page="library"] .library-page-size-menu > summary {
  min-height: 42px;
}

body[data-page="library"] .library-filter-options,
body[data-page="library"] .library-sort-options,
body[data-page="library"] .library-page-size-options,
body[data-page="library"] .book-status-menu {
  gap: 4px;
  padding: 6px;
  border: 1px solid var(--panel-border);
  border-radius: 14px;
  background: var(--surface-panel);
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.14);
}

body[data-page="library"] .library-filter-option,
body[data-page="library"] .library-sort-option,
body[data-page="library"] .library-page-size-option {
  min-height: 38px;
  border-radius: 10px;
}

body[data-page="library"] .library-filter-option.is-active,
body[data-page="library"] .library-sort-option.is-active,
body[data-page="library"] .library-page-size-option.is-active {
  color: var(--text);
  background: color-mix(in srgb, var(--accent-soft) 46%, var(--surface-panel) 54%);
}

body[data-page="library"] .library-pagination-footer {
  margin-top: 16px;
  padding-top: 14px;
  border-top-color: color-mix(in srgb, var(--panel-border) 72%, transparent);
}

body[data-page="library"] .library-pagination-controls,
body[data-page="library"] .library-pagination-pages {
  gap: 6px;
}

body[data-page="library"] .library-pagination-button,
body[data-page="library"] .library-pagination-ellipsis {
  min-width: 34px;
  height: 34px;
  border-radius: 11px;
}

body[data-page="library"] .library-pagination-button:disabled {
  cursor: default;
  opacity: 0.42;
  pointer-events: none;
}

body[data-page="library"] .book-status-shell {
  position: relative;
  flex: 0 0 132px;
  min-width: 132px;
}

body[data-page="library"] .book-status-menu {
  position: absolute !important;
  top: auto !important;
  bottom: calc(100% + 8px) !important;
  left: 0 !important;
  z-index: 80 !important;
  display: none !important;
  grid-template-columns: 1fr;
  min-width: 164px;
  padding: 6px;
  border: 1px solid var(--panel-border);
  opacity: 1 !important;
  transform: none !important;
  pointer-events: auto;
}

body[data-page="library"] .book-status-menu.is-open {
  display: grid !important;
}

body[data-page="library"] .book-status-option {
  min-height: 34px;
  padding: 8px 10px;
  border-radius: 10px;
  font-size: 0.82rem;
}

body[data-page="library"] .book-status-option:hover,
body[data-page="library"] .book-status-option.active {
  background: color-mix(in srgb, var(--accent-soft) 42%, var(--surface-panel) 58%);
  transform: none;
}

body[data-page="library"] .book-status-option-check,
body[data-page="library"] .library-filter-option-check {
  color: var(--accent);
  font-weight: 800;
}

body[data-page="library"] .book-status-option-check {
  font-size: 0;
}

body[data-page="library"] .book-status-option.active .book-status-option-check::after {
  content: "\2713";
  font-size: 0.82rem;
}

body[data-page="library"] .library-results-shell > .library-grid {
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 14px;
}

body[data-page="library"] .book-card-library {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 394px;
  padding: 0 14px 16px;
  overflow: visible;
  border-radius: 16px;
  background: var(--surface-panel);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.09);
}

body[data-page="library"] .book-card-library .book-card-tools {
  display: none;
}

body[data-page="library"] .book-card-library .book-card-top {
  display: contents;
}

body[data-page="library"] .book-card-library .book-card-cover {
  width: calc(100% + 28px);
  height: 50%;
  min-height: 180px;
  max-height: 210px;
  margin: 0 -14px;
  border-radius: 16px 16px 0 0;
  overflow: hidden;
}

body[data-page="library"] .book-card-library .book-card-cover img,
body[data-page="library"] .book-card-library .book-card-cover-placeholder {
  display: grid;
  width: 100%;
  height: 100%;
  min-height: 180px;
  border-radius: 16px 16px 0 0;
  object-fit: cover;
  box-shadow: none;
}

body[data-page="library"] .book-card-library .book-card-body {
  flex: 1;
  display: grid;
  grid-template-rows: auto auto auto 1fr;
  gap: 6px;
  padding: 14px 0 102px;
}

body[data-page="library"] .book-card-library .book-card-title {
  font-size: 0.96rem;
  line-height: 1.2;
}

body[data-page="library"] .book-card-library .book-card-author,
body[data-page="library"] .book-card-library .book-card-genre {
  font-size: 0.78rem;
}

body[data-page="library"] .book-card-library .book-card-genre,
body[data-page="library"] .book-card-library .book-work-chip,
body[data-page="library"] .book-card-library .book-card-date,
body[data-page="library"] .book-card-library .book-card-rating-value {
  display: none;
}

body[data-page="library"] .book-card-library .book-card-body-lower {
  grid-column: 1;
  grid-row: 1;
  align-self: center;
  gap: 5px;
  width: 100%;
  box-sizing: border-box;
  padding-right: 0;
}

body[data-page="library"] .book-card-body-lower-reading,
body[data-page="library"] .book-card-body-lower-settled {
  width: 100%;
}

body[data-page="library"] .book-card-bottom-grid {
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 14px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 38px;
  grid-template-rows: auto 36px;
  column-gap: 10px;
  row-gap: 7px;
  align-items: end;
}

body[data-page="library"] .book-card-bottom-main {
  display: contents;
  min-width: 0;
}

body[data-page="library"] .book-card-action-column {
  display: grid;
  grid-column: 2;
  grid-row: 1 / span 2;
  grid-template-rows: auto 36px;
  gap: 7px;
  justify-items: center;
  align-items: end;
  width: 38px;
  transform: translateX(4px);
}

body[data-page="library"] .book-card-library .book-card-rating-placeholder,
body[data-page="library"] .book-card-library .book-card-rating-row {
  justify-content: flex-start;
  min-height: 18px;
  margin: 0;
  font-size: 0.78rem;
}

body[data-page="library"] .book-card-library .book-card-progress-block,
body[data-page="library"] .book-card-library .book-card-completion-block {
  justify-items: stretch;
  gap: 6px;
}

body[data-page="library"] .book-card-library .book-card-progress-block-reading {
  display: grid;
  grid-template-rows: 18px 15px;
  align-content: end;
}

body[data-page="library"] .book-card-library .book-card-progress-row {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 18px;
  min-width: 0;
}

body[data-page="library"] .book-card-library .compact-progress {
  flex: 1 1 110px;
  width: auto;
  max-width: 132px;
  min-width: 68px;
  height: 3px;
  background: color-mix(in srgb, var(--muted) 20%, transparent);
}

body[data-page="library"] .book-card-library .compact-progress > span {
  min-width: 10px;
}

body[data-page="library"] .book-card-library .book-card-progress-percent {
  flex: 0 0 auto;
  color: var(--muted);
  font-size: 0.76rem;
  line-height: 1;
  white-space: nowrap;
}

body[data-page="library"] .book-card-library .book-card-progress-caption,
body[data-page="library"] .book-card-library .book-card-info-line {
  font-size: 0.76rem;
  text-align: left;
}

body[data-page="library"] .book-card-library .book-card-pages-line {
  justify-content: flex-start;
  gap: 0;
  min-height: 14px;
  margin: 0;
  color: var(--muted);
  font-size: 0.76rem;
  line-height: 1.2;
  white-space: nowrap;
}

body[data-page="library"] .book-card-library .inline-progress-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 7px;
  align-self: end;
  width: 100%;
  max-width: 164px;
}

body[data-page="library"] .book-card-library .inline-progress-form input {
  width: 100%;
  min-height: 34px;
  box-sizing: border-box;
  padding: 0 12px;
  border-radius: 13px;
  font-size: 0.84rem;
  line-height: 1;
}

body[data-page="library"] .book-card-library .inline-progress-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

body[data-page="library"] .book-card-library .inline-progress-actions .compact-button {
  min-height: 30px;
  padding: 0 10px;
  border-radius: 11px;
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1;
}

body[data-page="library"] .book-card-add-progress {
  position: static;
  align-self: center;
  z-index: 3;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  min-width: 38px;
  min-height: 38px;
  max-width: 38px;
  max-height: 38px;
  padding: 0;
  border: 1px solid var(--panel-border);
  border-radius: 50%;
  background: var(--surface-panel);
  color: var(--text);
  font: inherit;
  font-size: 1.4rem;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.08);
}

body[data-page="library"] .book-card-add-progress-placeholder {
  display: block;
  width: 38px;
  height: 38px;
}

body[data-page="library"] .book-card-add-progress:hover,
body[data-page="library"] .book-card-add-progress:focus-visible {
  border-color: color-mix(in srgb, var(--accent) 46%, var(--panel-border) 54%);
  color: var(--accent);
  outline: none;
}

body[data-page="library"] .book-card-status-row-footer {
  grid-column: 1;
  grid-row: 2;
  position: static;
  display: flex;
  min-height: 36px;
  gap: 0;
  align-items: center;
  justify-content: flex-start;
}

body[data-page="library"] .book-status-trigger {
  --status-caret-width: 30px;

  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--status-caret-width);
  align-items: stretch;
  width: 132px;
  height: 29px;
  min-height: 29px;
  max-height: 29px;
  gap: 0;
  padding: 0;
  border-radius: 11px;
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
  box-shadow: none;
  backdrop-filter: none;
}

body[data-page="library"] .book-status-trigger > span:first-child {
  display: grid;
  place-items: center;
  min-width: 0;
  height: 100%;
  padding: 0 8px;
  line-height: 1;
  overflow: hidden;
  text-align: center;
  text-overflow: ellipsis;
}

body[data-page="library"] .book-status-caret {
  display: grid;
  place-items: center;
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border-left: 0;
}

body[data-page="library"] .book-status-caret::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 1px;
  height: 15px;
  background: color-mix(in srgb, currentColor 34%, transparent);
  transform: translateY(-50%);
}

body[data-page="library"] .book-status-caret svg {
  width: 13px;
  height: 13px;
}

body[data-page="library"] .book-card-favorite-toggle {
  grid-row: 2;
  align-self: center;
  justify-self: center;
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  color: var(--muted);
}

body[data-page="library"] .book-card-favorite-toggle.is-active,
body[data-page="library"] .book-card-favorite-toggle[aria-pressed="true"] {
  color: #D57A7A;
}

body[data-page="library"] .book-card-favorite-toggle.is-active:hover,
body[data-page="library"] .book-card-favorite-toggle.is-active:focus-visible,
body[data-page="library"] .book-card-favorite-toggle[aria-pressed="true"]:hover,
body[data-page="library"] .book-card-favorite-toggle[aria-pressed="true"]:focus-visible {
  color: #E08A84;
}

body[data-page="library"] .book-card-favorite-toggle svg {
  width: 24px;
  height: 24px;
}

body[data-page="library"] .book-card-info-line-pages {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

body[data-page="library"] .book-card-page-icon {
  display: inline-grid;
  place-items: center;
  width: 14px;
  height: 14px;
  color: color-mix(in srgb, var(--muted) 78%, var(--accent) 22%);
}

body[data-page="library"] .book-card-page-icon svg {
  display: block;
  width: 13px;
  height: 13px;
}

body[data-theme="light"][data-page="library"] {
  background: linear-gradient(135deg, #FBF9F4 0%, #E5DBC9 100%);
}

body[data-theme="light"][data-page="library"] .app-shell.app-shell-main {
  background: transparent !important;
}

body[data-theme="light"][data-page="library"] .library-panel.library-panel-full,
body[data-theme="light"][data-page="library"] .library-filter-panel {
  background: transparent;
  border: 0;
  box-shadow: none;
}

body[data-theme="light"][data-page="library"] .library-filter-field,
body[data-theme="light"][data-page="library"] .library-quick-filter {
  background: var(--bg-card);
  border-color: var(--border-color);
  box-shadow: 0 8px 18px rgba(84, 64, 40, 0.045);
}

body[data-theme="light"][data-page="library"] .library-filter-search input {
  background: var(--bg-card) !important;
  border-color: rgba(111, 98, 82, 0.13) !important;
  box-shadow: 0 8px 18px rgba(84, 64, 40, 0.06) !important;
}

body[data-theme="light"][data-page="library"] .library-summary-item {
  background: var(--bg-card);
  border: 0;
  box-shadow: 0 8px 18px rgba(84, 64, 40, 0.055);
}

body[data-theme="dark"][data-page="library"] .library-summary-item {
  background: color-mix(in srgb, var(--surface-panel) 96%, transparent);
  border: 0;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.045);
}

body[data-theme="dark"][data-page="library"] .library-summary-item:nth-child(1) {
  --library-summary-icon-color: #d5a66f;
}

body[data-theme="dark"][data-page="library"] .library-summary-item:nth-child(2) {
  --library-summary-icon-color: #73bd84;
}

body[data-theme="dark"][data-page="library"] .library-summary-item:nth-child(3) {
  --library-summary-icon-color: #72a6df;
}

body[data-theme="dark"][data-page="library"] .library-summary-item:nth-child(4) {
  --library-summary-icon-color: #eda843;
}

body[data-theme="dark"][data-page="library"] .library-summary-item:nth-child(5) {
  --library-summary-icon-color: #aa8bd7;
}

body[data-theme="dark"][data-page="library"] .library-summary-item:nth-child(6) {
  --library-summary-icon-color: #ff7b70;
}

body[data-theme="dark"][data-page="library"] .library-summary-item:nth-child(7) {
  --library-summary-icon-color: #ff788f;
}

body[data-theme="light"][data-page="library"] .library-filter-icon {
  color: color-mix(in srgb, var(--muted) 62%, var(--accent) 38%);
}

body[data-theme="light"][data-page="library"] .library-filter-field:hover .library-filter-icon,
body[data-theme="light"][data-page="library"] .library-filter-menu[open] > .library-filter-field .library-filter-icon,
body[data-theme="light"][data-page="library"] .library-favorite-toggle[aria-pressed="true"] .library-filter-icon {
  color: color-mix(in srgb, var(--accent) 86%, var(--text) 14%);
}

body[data-theme="light"][data-page="library"] .book-card-library {
  background: var(--bg-card);
  border-color: var(--border-color);
  box-shadow: 0 12px 26px rgba(84, 64, 40, 0.08);
}

@media (max-width: 1180px) {
  body[data-page="library"] .page-stack-wide.library-stack {
    max-width: min(100%, calc(100vw - 48px));
  }

  body[data-page="library"] .library-results-shell > .library-grid {
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
    gap: 14px;
  }

  body[data-page="library"] .library-summary-divider-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  body[data-page="library"] .library-panel.library-panel-full {
    grid-template-columns: 1fr;
    grid-template-areas:
      "header"
      "summary"
      "filters"
      "results";
    row-gap: 18px;
  }

  body[data-page="library"] .library-filter-panel {
    height: auto;
    max-width: none;
  }
}

@media (max-width: 768px) {
  body[data-page="library"] .page-stack-wide.library-stack {
    max-width: min(100%, calc(100vw - 28px));
  }

  body[data-page="library"] .library-results-shell > .library-grid {
    grid-template-columns: repeat(auto-fill, minmax(165px, 1fr));
    gap: 12px;
  }

  body[data-page="library"] .library-sort-menu {
    width: 100%;
  }

  body[data-page="library"] .library-summary-divider-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-page="library"] .book-card-library {
    min-height: 374px;
  }

  body[data-page="library"] .book-card-library .book-card-body-lower {
    padding-right: 0;
  }

  body[data-page="library"] .book-card-bottom-grid {
    grid-template-columns: minmax(0, 1fr) 34px;
    grid-template-rows: auto 36px;
    gap: 8px;
  }

  body[data-page="library"] .book-card-action-column {
    grid-template-rows: auto 36px;
    width: 34px;
    transform: translateX(2px);
  }

  body[data-page="library"] .book-card-library .book-card-progress-row {
    min-height: 18px;
  }

  body[data-page="library"] .book-card-library .compact-progress {
    max-width: 106px;
    min-width: 56px;
  }

  body[data-page="library"] .book-card-library .inline-progress-form {
    max-width: 132px;
  }

  body[data-page="library"] .book-card-library .inline-progress-actions {
    gap: 6px;
  }

  body[data-page="library"] .book-card-library .inline-progress-actions .compact-button {
    padding: 0 8px;
  }

  body[data-page="library"] .book-card-add-progress {
    width: 34px;
    height: 34px;
    min-width: 34px;
    min-height: 34px;
    max-width: 34px;
    max-height: 34px;
    font-size: 1.25rem;
  }

  body[data-page="library"] .book-card-add-progress-placeholder {
    width: 34px;
    height: 34px;
  }

  body[data-page="library"] .book-status-shell,
  body[data-page="library"] .book-status-trigger {
    width: 122px;
    min-width: 122px;
    flex-basis: 122px;
  }
}
