.library{flex-direction:column;gap:20px;display:flex}.library-message{font-size:14px}.library-add{align-self:flex-start}.library-toolbar{flex-direction:column;gap:12px;display:flex}.library-search-row{align-items:center;gap:8px;display:flex}.library-search{flex:1;min-width:0}.library-search .field{width:100%}.library-toolbar>.library-switch{display:flex}.library-toolbar>.library-switch .segment{flex:1;justify-content:center}.library-search-row .library-switch{flex:none}.library-count{color:var(--secondary);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px}.library-clear{flex:none}.library-count-row{min-height:var(--row);justify-content:space-between;align-items:center;gap:8px;display:flex}.library-filters{flex:none}.library-badge{background:var(--ink);min-width:18px;height:18px;color:var(--surface);font-variant-numeric:tabular-nums;border-radius:9px;place-items:center;padding:0 5px;font-size:11px;display:inline-grid}.library-controls{flex-direction:column;gap:12px;display:flex}.library-selects{flex-wrap:wrap;gap:12px;display:flex}.library-select{flex-direction:column;gap:4px;min-width:0;display:flex}.library-select label{color:var(--secondary);font-size:12px;font-weight:600}.library-chips{flex-wrap:wrap;gap:8px;display:flex}.library-chip{min-height:var(--row);border:1px solid var(--line);border-radius:calc(var(--row) / 2);background:var(--surface);color:var(--ink);cursor:pointer;align-items:center;gap:6px;max-width:100%;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.library-chip-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.library-chip:hover{background:var(--soft)}.library-chip[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:var(--surface)}.library-chip-count{opacity:.7;font-variant-numeric:tabular-nums;flex:none}.library-no-match{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:48px 16px;font-size:15px;font-weight:600;display:flex}.library-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 14px;margin:0;padding:0;list-style:none;display:grid}.library-book{min-width:0;color:var(--ink);flex-direction:column;gap:2px;text-decoration:none;display:flex}.library-cover{width:100%;margin-bottom:6px}.library-book-title,.library-book-line{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.library-book-title{font-size:13px;font-weight:600}.library-book-line{color:var(--secondary);font-variant-numeric:tabular-nums;font-size:12px}.library-book:hover .library-book-title{text-decoration:underline}.library-sheet{width:100%;max-width:none;max-height:85dvh;padding:20px 20px max(20px, env(safe-area-inset-bottom));border:0;border-top:1px solid var(--line);border-radius:var(--radius-panel) var(--radius-panel) 0 0;background:var(--surface);color:var(--ink);margin:0;inset:auto 0 0}.library-sheet[open]{flex-direction:column;gap:20px;display:flex}.library-sheet::backdrop{background:#0006}.library-sheet .library-selects{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.library-sheet .field{width:100%}@media (width>=960px){.library-toolbar{z-index:1;background:var(--surface);border-bottom:1px solid var(--line);margin:-24px -24px 0;padding:12px 24px;position:sticky;top:48px}.library-search-row{flex-wrap:wrap;justify-content:flex-end}.library-search{flex:200px;min-width:200px;max-width:420px}.library-search-row .library-count{margin-left:auto}.library-select{flex:130px;max-width:160px}.library-select .field{width:100%}.library-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:28px 24px}}.library-list{flex-direction:column;display:flex}.library-group ul{margin:0;padding:0;list-style:none}.library-letter{top:env(safe-area-inset-top,0px);z-index:1;border-bottom:1px solid var(--line);background:var(--ground);color:var(--secondary);letter-spacing:0;padding:10px 0 6px;font-size:13px;position:sticky}.library-row{border-bottom:1px solid var(--line);color:var(--ink);grid-template-columns:40px minmax(0,1fr) auto;grid-template-areas:"cover main status""cover author status";align-content:center;column-gap:12px;padding:8px 0;text-decoration:none;display:grid}.library-row-cover{grid-area:cover;align-self:center}.library-row-main{flex-direction:column;grid-area:main;min-width:0;display:flex}.library-row-title,.library-row-line,.library-row-author{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.library-row-title{font-size:15px;font-weight:600}.library-row-line,.library-row-author{font-variant-numeric:tabular-nums;font-size:13px}.library-row-author{color:var(--secondary);grid-area:author}.library-row-status{color:var(--secondary);white-space:nowrap;grid-area:status;align-self:center;font-size:12px}.library-row:hover .library-row-title{text-decoration:underline}.library-index{z-index:2;flex-direction:column;height:min(432px,100dvh - 200px);display:flex;position:fixed;top:50%;right:0;transform:translateY(-50%)}.library-index button{width:20px;min-height:0;color:var(--ink);cursor:pointer;background:0 0;border:0;flex:1;padding:0;font-size:11px;font-weight:700;line-height:1}.library-index button:disabled{color:var(--off);cursor:default;font-weight:500}.library-flow{--flow-cover:170px;--flow-near:.75;--flow-step:.2;--flow-room:52px;flex-direction:column;flex:1;gap:16px;display:flex}.panel:has(.library-flow){flex-direction:column;display:flex}.view-body:has(.library-flow){flex-direction:column;flex:1;display:flex}.library:has(.library-flow){flex:1}@media (width<=959.98px){.panel:has(.library-flow){min-height:100dvh}}.library-flow-stage{min-height:200px;max-height:calc(var(--flow-cover) * 1.5 + var(--flow-room));perspective:1100px;flex:1 1 0;margin:0 -20px;position:relative;overflow:hidden;container-type:size}.library-flow-cover{--cover:min(var(--flow-cover), (100cqh - var(--flow-room)) * 2 / 3);z-index:calc(10 - var(--away));width:var(--cover);margin-left:calc(var(--cover) / -2);transform:translateX(calc(var(--side) * var(--cover) * (var(--flow-near) + (var(--away) - 1) * var(--flow-step)))) rotateY(calc(var(--side) * -58deg)) scale(calc(1 - .2 * min(var(--away), 1)));text-decoration:none;transition:transform .36s cubic-bezier(.2,.7,.2,1),opacity .22s;position:absolute;top:20px;left:50%}@starting-style{.library-flow-cover{opacity:0}}.library-flow-cover .library-flow-face{width:100%;box-shadow:0 0 0 1px var(--cover-edge), 0 12px 28px -12px var(--scrim)}.library-flow-info{text-align:center;flex-direction:column;align-items:center;font-size:14px;display:flex}.library-flow-info>*{text-overflow:ellipsis;white-space:nowrap;max-width:100%;min-height:1.5em;overflow:hidden}.library-flow-position,.library-flow-line{color:var(--secondary);font-variant-numeric:tabular-nums}.library-flow-position{font-size:13px}.library-flow-title{letter-spacing:-.02em;font-size:20px;font-weight:700;text-decoration:none}.library-flow-title:hover{text-decoration:underline}.library-flow-controls{align-items:center;gap:12px;display:flex}.library-flow-controls input{min-width:0;min-height:var(--row);accent-color:var(--ink);flex:1;margin:0}.library-flow-controls .button[aria-disabled=true]{opacity:.6;cursor:default}@media (prefers-reduced-motion:reduce){.library-flow-cover{transition:none}}@media (width>=960px){.library-letter{color:var(--ink);background:0 0;padding:18px 0 8px;font-size:15px;position:static}.library-row{grid-template-columns:44px minmax(0,2.4fr) minmax(0,1.4fr) minmax(0,1fr);grid-template-areas:"cover main author status";align-items:center;column-gap:16px}.library-row-author{color:var(--ink);font-size:14px}.library-row-status{font-size:13px}.library-index{flex-flow:wrap;gap:2px;height:auto;position:static;transform:none}.library-index button{width:24px;height:var(--row);border-radius:var(--radius-control);flex:none;font-size:13px}.library-index button:hover:not(:disabled){background:var(--soft)}.library-flow{--flow-cover:240px;--flow-near:.96;--flow-step:.29}.library-flow-stage{margin:0 -24px}.library-flow-title{font-size:24px}.library-flow-controls{align-self:center;width:100%;max-width:560px}}
