.dsmy-library{--dsmy-ink:#041e42;--dsmy-blue:#245686;--dsmy-bg:#f6f8fb;--dsmy-line:#d8e4f0;--dsmy-soft:#4d6078;color:var(--dsmy-ink);margin:1rem 0 2rem;line-height:1.5}
.dsmy-library h2,.dsmy-library h3,.dsmy-library h4{line-height:1.25;color:var(--dsmy-ink);margin:0 0 .45rem;font-weight:700}
.dsmy-library h2{font-size:clamp(1.55rem,4vw,2.3rem)}.dsmy-library h3{font-size:1.13rem}.dsmy-library h4{font-size:.98rem}
.dsmy-library p{margin:0 0 .55rem}.dsmy-library a{color:var(--dsmy-blue);text-underline-offset:.16em}.dsmy-library :focus-visible{outline:2px solid #2666a6;outline-offset:3px}
.dsmy-header,.dsmy-editor header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.8rem;margin:0 0 1rem}
.dsmy-actions{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.dsmy-actions form{margin:0}.dsmy-muted,.dsmy-library small{color:var(--dsmy-soft);font-size:.87rem}
.dsmy-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:.5rem;margin:0 0 1rem}
.dsmy-stats div,.dsmy-card,.dsmy-notice{border:1px solid var(--dsmy-line);border-radius:12px;background:white;padding:.9rem}
.dsmy-stats div,.dsmy-notice{background:var(--dsmy-bg)}.dsmy-stats dt{font-size:.8rem;color:var(--dsmy-soft)}.dsmy-stats dd{margin:0;font-size:1.3rem;font-weight:700}
.dsmy-filters{display:flex;flex-wrap:wrap;align-items:end;gap:.6rem;margin:1rem 0}.dsmy-filters>label:first-of-type{flex:1 1 12rem}
.dsmy-library label{display:block;font-size:.9rem;font-weight:600}.dsmy-library input:not([type=checkbox]):not([type=hidden]),.dsmy-library textarea,.dsmy-library select{display:block;box-sizing:border-box;width:100%;min-height:42px;padding:.4rem .55rem;border:1px solid #a9bcd2;border-radius:8px;background:#fff;color:var(--dsmy-ink);font:inherit;margin:.2rem 0 0}
.dsmy-library textarea{resize:vertical}.dsmy-library .dsmy-button{display:inline-block;align-self:start;min-height:42px;padding:.55rem .85rem;border:1px solid var(--dsmy-blue);border-radius:8px;background:var(--dsmy-blue);color:#fff;cursor:pointer;font:inherit;font-size:.9rem;font-weight:650;text-transform:none;white-space:normal}
.dsmy-library .dsmy-secondary{background:white;color:var(--dsmy-blue)}.dsmy-library .dsmy-button:hover{background:var(--dsmy-ink);color:#fff}
.dsmy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:.7rem}
.dsmy-book{display:grid;grid-template-columns:70px minmax(0,1fr);gap:.75rem;align-items:start}.dsmy-cover img{display:block;width:70px;height:94px;object-fit:contain;background:var(--dsmy-bg);border-radius:6px}
.dsmy-pill{display:inline-block;border-radius:100px;background:#eaf1f8;padding:.18rem .55rem;font-size:.82rem;font-weight:650}
.dsmy-card-action{display:inline-flex;min-height:40px;align-items:center;font-size:.86rem;font-weight:650}
.dsmy-pager{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin:1.25rem 0}.dsmy-pager a{padding:.45rem 0}
.dsmy-preferences,.dsmy-recommendations,.dsmy-editor{margin:1.25rem 0}.dsmy-edit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:1rem}
.dsmy-stack{display:grid;gap:.65rem;margin:.75rem 0;align-content:start}.dsmy-check{display:flex!important;gap:.55rem;align-items:baseline}.dsmy-check input{width:1.1rem;height:1.1rem;flex:none}
.dsmy-details{margin:.75rem 0 0;padding:.55rem 0;border-top:1px solid var(--dsmy-line)}.dsmy-details summary{cursor:pointer;font-weight:700;min-height:34px}
.dsmy-intent{align-items:end}.dsmy-review-form{max-width:38rem}.dsmy-impression{margin:.65rem 0;padding:.65rem .8rem;background:var(--dsmy-bg);border-radius:8px;overflow-wrap:anywhere}
.dsmy-stars{color:#7d520c;white-space:nowrap}.dsmy-public>.dsmy-card{margin:.65rem 0}.dsmy-recommendation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,125px),1fr));gap:.65rem}
.dsmy-recommendation-grid>.dsmy-card{min-width:0;overflow-wrap:anywhere}.dsmy-recommendation-grid>.dsmy-card>a{display:block;width:100%}
.dsmy-recommendation-grid img{display:block;width:100%;max-width:100%;height:145px;object-fit:contain;background:var(--dsmy-bg);margin:0 0 .55rem}.dsmy-price{font-size:.9rem}
@media(max-width:520px){.dsmy-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dsmy-filters>label{flex:1 1 44%}.dsmy-recommendation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dsmy-cover img{height:90px}.dsmy-grid{grid-template-columns:1fr}}
