/* Literary Haven 0.2.7-preview.1 — mobile-only Light Vintage composition.
   Intentional: no desktop styling, database, or API changes. */
.mobile-brand{display:none}
.calendar-extra-mobile{display:none}
@media (max-width:740px){
  html,body{width:100%;min-width:0;overflow-x:clip}
  .shell{display:block;min-width:0}
  .sidebar{display:none}
  .content{min-width:0;padding:13px 13px calc(103px + env(safe-area-inset-bottom))}
  .topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:10px;row-gap:12px;margin:0 0 18px}
  .topbar .breadcrumb{display:none}
  .mobile-brand{grid-column:1;grid-row:1;display:flex;align-items:center;min-width:0;gap:9px;color:#5b4e3f}
  .mobile-brand-mark{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;border:1px solid #d4c29f;background:#f1e6d4;color:#866943;font:29px/1 Georgia,serif;flex:none}
  .mobile-brand-name{font:700 24px/1 var(--serif);letter-spacing:-.35px;white-space:nowrap}
  .mobile-brand-subtitle{display:block;font:500 10px/1.2 var(--sans);color:#917d65;letter-spacing:.04em;margin-top:3px}
  .topbar .top-actions{display:contents}
  .topbar .global-search{grid-column:1/-1;grid-row:2;display:flex;width:100%;min-width:0;max-width:none;height:42px;padding:6px 12px;background:#fff9ed;border:1px solid #ded1bc;border-radius:13px;box-shadow:0 3px 10px #5c48220b}
  .topbar .global-search input{flex:1;width:100%;min-width:0;font-size:16px}
  .topbar .global-search .search-icon{font-size:19px}
  .topbar .global-search .icon-btn{height:34px;width:34px;justify-content:center;align-items:center}
  .topbar .add-head,.topbar .avatar{display:none}
  .topbar .mobile-only{display:flex;grid-column:2;grid-row:1;align-items:center;justify-content:center;width:39px;height:39px;background:#6e7c55;color:#fff9f0;border-radius:13px;border:1px solid #5d6b48;box-shadow:0 4px 10px #66745023}
  .topbar .mobile-only svg{width:19px;height:19px}
  .home-feature-grid{display:flex;flex-direction:column;gap:10px;margin:0 0 12px}
  .home-feature-grid .daily-quote-section{padding:15px 16px 13px;border-radius:17px;min-height:0;background:linear-gradient(135deg,#fbf5ea,#f0e5d4)}
  .home-feature-grid .daily-quote-section .section-title{align-items:flex-start;gap:6px;margin-bottom:8px}
  .home-feature-grid .daily-quote-section .section-title h2{font-size:25px}
  .home-feature-grid .daily-quote-section .section-caption{display:block;font-size:10px;margin-top:2px}
  .home-feature-grid .daily-quote-section .section-title .link{display:block;font-size:10px;line-height:1.25;padding:4px 0}
  .home-feature-grid .daily-quote-paper{min-height:0;padding:3px 0 5px;background:transparent;box-shadow:none;border:0}
  .home-feature-grid .daily-quote-paper .quote-frame{padding:2px 29px 15px 27px}
  .home-feature-grid .daily-quote-paper .quote-frame .quote-ornament{font-size:35px;font-family:var(--quote-serif);font-weight:600;font-style:normal;color:#c4ac80}
  .home-feature-grid .daily-quote-paper .quote-frame .quote-ornament--open{left:0;top:0}
  .home-feature-grid .daily-quote-paper .quote-frame .quote-ornament--close{right:0;bottom:-6px}
  .home-feature-grid .daily-quote-paper blockquote{display:block;-webkit-line-clamp:unset;overflow:visible;font-size:18px;line-height:1.38;margin:0;font-weight:600}
  .home-feature-grid .daily-quote-paper footer{font-size:11px;text-align:right;padding:4px 2px 0}
  .home-feature-grid .annual-goal{min-height:0;display:block;padding:12px 14px;border-radius:16px}
  .home-feature-grid .annual-goal-title{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-bottom:5px;font-size:12px}
  .home-feature-grid .annual-goal-title>span{white-space:normal}
  .home-feature-grid .annual-goal-title .link{font-size:11px}
  .home-feature-grid .annual-goal-body{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:15px;margin-top:6px}
  .home-feature-grid .goal-donut{width:80px;aspect-ratio:1}
  .home-feature-grid .goal-donut:before{inset:9px}
  .home-feature-grid .goal-donut strong{font-size:23px}
  .home-feature-grid .goal-donut small{font-size:9px}
  .home-feature-grid .goal-summary{gap:3px}
  .home-feature-grid .goal-summary strong{font-size:29px}
  .home-feature-grid .goal-summary strong span{font-size:14px}
  .home-feature-grid .goal-summary small{display:block;font-size:10px}
  .home-feature-grid .goal-tiny{display:none}
  .stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0 0 14px}
  .stat{gap:9px;padding:11px 10px;min-width:0;min-height:72px;border-radius:13px}
  .stat-icon{width:35px;height:35px;border-radius:10px;flex:none;font-size:18px}
  .stat .num{font-size:29px}
  .stat small{display:block;font-size:10px;line-height:1.2;white-space:normal}
  .section{margin-bottom:13px;padding:14px;border-radius:16px}
  .section-title{margin-bottom:12px;gap:8px;align-items:flex-start}
  .section-title h2{font-size:25px;line-height:1.12}
  .section-title .link{font-size:11px;white-space:nowrap}
  .section-caption{font-size:10px;line-height:1.35}
  .reading-section{padding:14px 10px 12px}
  .reading-section .section-title{padding:0 4px;margin-bottom:11px}
  .reading-section .section-title h2{font-size:25px}
  .reading-section .section-title .section-caption{max-width:235px}
  .reading-shelf{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:clamp(145px,43vw,175px);overflow-x:auto;overflow-y:hidden;gap:10px;scroll-snap-type:x mandatory;scroll-padding-inline:2px;padding:2px 4px 11px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .reading-shelf::-webkit-scrollbar{display:none}
  .reading-tile{scroll-snap-align:start;display:flex;flex-direction:column;align-items:stretch;gap:7px;padding:9px 9px 11px;min-width:0;border-radius:12px;box-shadow:0 3px 9px #5b442009}
  .reading-cover-button{display:block;width:100%;max-width:none;margin:0;align-self:stretch}
  .reading-cover-button .cover{width:100%;aspect-ratio:2/3;padding:8px}
  .reading-cover-button .cover-title{font-size:clamp(17px,5vw,23px)}
  .reading-percent-tag{top:5px;right:-4px;font-size:11px;padding:6px 8px 8px}
  .reading-pages-corner{bottom:5px;right:3px;font-size:10px;padding:3px 5px}
  .reading-info{display:flex;flex-direction:column;gap:3px;width:100%}
  .reading-title{font-size:13px;min-height:33px;line-height:1.25;-webkit-line-clamp:2}
  .reading-author{font-size:10px}
  .reading-dates{margin-top:5px;padding-top:7px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .reading-dates span{font-size:9px}
  .reading-dates strong{font-size:10px}
  .home-calendar-layout{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}
  .calendar-section{padding:14px 10px 12px}
  .calendar-section .section-title{display:flex;flex-direction:column;gap:10px;margin-bottom:8px}
  .calendar-section .section-title h2{font-size:24px}
  .calendar-section .section-caption{font-size:10px}
  .calendar-controls{display:flex;width:100%;align-items:center;justify-content:space-between;gap:5px}
  .calendar-controls>span{flex:1;min-width:0;text-align:center;font-size:12px}
  .calendar-control,.calendar-today{min-height:33px;min-width:33px;padding:4px 8px;border-radius:9px}
  .calendar-weekdays,.calendar-grid{gap:3px}
  .calendar-weekdays{margin-bottom:5px}
  .calendar-weekdays span{font-size:10px}
  .calendar-day,.calendar-empty{min-height:55px;min-width:0;gap:3px;padding:5px 3px 4px;border-radius:7px}
  .calendar-day strong{font-size:11px}
  .calendar-books{min-width:0;gap:2px}
  .calendar-book{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;overflow:hidden;overflow-wrap:anywhere;line-height:1.1;font-size:9px;padding:3px 3px;max-height:28px}
  .calendar-books .calendar-book:nth-of-type(n+2){display:none}
  .calendar-extra{display:none}
  .calendar-extra-mobile{display:inline-block;font-size:9px;line-height:1.15;color:#946b47;padding:0 3px}
  .calendar-selection{margin-top:9px;padding-top:9px}
  .calendar-selected-books{gap:5px}
  .selected-book button{min-height:34px}
  .home-side-col{display:block;min-width:0}
  .home-side-col .section{margin:0}
  .home-library-preview .book-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px 9px}
  .home-library-preview .cover-title{font-size:clamp(14px,4.4vw,21px)}
  .page-intro{margin-bottom:15px;align-items:start;gap:10px;flex-direction:column}
  .page-intro h1{font-size:37px;line-height:1;margin:5px 0 8px}
  .page-intro p{font-size:12px;line-height:1.45}
  .page-intro .btn{min-height:42px}
  .toolbar{display:grid;gap:9px;min-width:0;margin-bottom:13px}
  .chips{display:flex;flex-wrap:nowrap;gap:7px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:2px 2px 7px;max-width:100%}
  .chips::-webkit-scrollbar{display:none}
  .chip{flex:none;padding:9px 12px;font-size:12px;min-height:38px}
  .toolbar-right{justify-content:flex-end}
  .select{min-height:39px;max-width:none}
  .book-grid.large{grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 15px}
  .book-grid.large .cover-title{font-size:clamp(19px,6vw,30px)}
  .book-name{font-size:12px;margin-top:8px}
  .book-author{font-size:10px}
  .shelf-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .shelf-cover{height:105px}
  .shelf-cover span{font-size:24px}
  .shelf-info{padding:12px}
  .shelf-info h3{font-size:22px}
  .journal-card{padding:14px}
  .journal-card h3{font-size:24px}
  .quote-grid,.split{grid-template-columns:1fr}
  .quote-card{padding:20px 18px;min-height:0}
  .quote-card blockquote{font-size:23px;line-height:1.25}
  .action-row{gap:7px}
  .action-row>.btn{min-height:40px}
  .mobile-bottom{position:fixed;left:0;right:0;bottom:0;z-index:25;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:7px max(8px,env(safe-area-inset-left)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-right));background:rgba(248,241,227,.97);border-top:1px solid #ddd0bc;box-shadow:0 -6px 18px #6b543013;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
  .mobile-bottom button{min-width:0;min-height:52px;display:grid;align-content:center;justify-items:center;gap:3px;color:#897c6a;font-size:10px;border-radius:12px;padding:6px 3px}
  .mobile-bottom button.selected{background:#e4e8d9;color:#526841;font-weight:700}
  .mobile-bottom svg{height:21px;width:21px}
  .modal-backdrop{align-items:flex-end;padding:0;overscroll-behavior:contain}
  .modal{width:100%;max-width:none;max-height:calc(94dvh - env(safe-area-inset-top));margin:0;border-radius:22px 22px 0 0;overflow:auto;overscroll-behavior:contain;padding-bottom:env(safe-area-inset-bottom)}
  .modal-head{position:sticky;top:0;z-index:2;background:#f8f1e6;border-radius:22px 22px 0 0;padding:15px 17px 12px}
  .modal-head h2{font-size:29px}
  .modal-content{padding:14px 17px 20px}
  .form-grid{grid-template-columns:1fr}
  .forms{gap:12px}
  .field input,.field select,.field textarea{font-size:16px;min-height:43px}
  .modal-foot{position:sticky;bottom:0;background:linear-gradient(0deg,#f8f1e6 80%,rgba(248,241,230,.82));padding:10px 0 2px;margin-top:10px}
  .modal-foot .btn{min-height:43px}
  .detail-hero{grid-template-columns:102px minmax(0,1fr);gap:14px;min-width:0}
  .detail-hero .cover{width:102px}
  .detail-hero h1{font-size:31px;overflow-wrap:anywhere;line-height:1}
  .detail-actions{display:flex;flex-wrap:wrap;gap:7px;margin:11px 0 0}
  .detail-actions .btn{min-height:38px;padding:7px 10px;font-size:11px}
  .detail-tabs{gap:3px;overflow-x:auto;scrollbar-width:none;margin-top:13px}
  .detail-tabs button{font-size:12px;padding:8px 9px;min-height:38px}
  .journal-photo-editor,.journal-photo-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
  .login{padding:16px}
  .login-card{padding:27px 22px}
  .toast{left:13px;right:13px;bottom:calc(81px + env(safe-area-inset-bottom));max-width:none}
}
@media(max-width:385px){
  .content{padding-left:10px;padding-right:10px}
  .page-intro h1{font-size:34px}
  .home-feature-grid .daily-quote-paper blockquote{font-size:16px}
  .home-feature-grid .goal-summary strong{font-size:26px}
  .reading-shelf{grid-auto-columns:clamp(140px,45vw,160px)}
  .calendar-weekdays,.calendar-grid{gap:2px}
  .calendar-day,.calendar-empty{min-height:50px;padding:4px 2px}
  .calendar-book{font-size:8px}
  .shelf-grid{gap:8px}
  .home-library-preview .book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){.reading-cover-button .cover,.book-tile .cover{transition:none}}

/* v0.2.7-preview.2 — four compact book tiles in mobile Currently Reading.
   Keep title, author and both reading dates BELOW each full-width cover.
   Horizontal swipe reveals the fifth book and later ones; desktop unchanged. */
@media (max-width:740px){
  .reading-section{padding:13px 8px 11px}
  .reading-section .section-title{padding:0 5px;margin-bottom:9px}
  .reading-section .section-title h2{font-size:23px}
  .reading-shelf{
    display:grid;
    grid-template-columns:none;
    grid-template-rows:minmax(0,1fr);
    grid-auto-flow:column;
    grid-auto-columns:calc((100% - 18px - 6px)/4);
    gap:6px;
    padding:2px 3px 8px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:3px;
    overscroll-behavior-x:contain;
  }
  .reading-tile{padding:4px 3px 6px;gap:4px;border-radius:8px;box-shadow:none;scroll-snap-align:start;min-width:0}
  .reading-cover-button{width:100%;max-width:none;min-width:0;align-self:stretch}
  .reading-cover-button .cover{width:100%;aspect-ratio:2/3;padding:4px;border-radius:3px}
  .reading-cover-button .cover-title{font-size:clamp(10px,2.7vw,14px);line-height:1.05;overflow-wrap:anywhere}
  .reading-cover-button .cover-author{font-size:clamp(6px,1.5vw,8px)}
  .reading-percent-tag{top:3px;right:-3px;font-size:9px;padding:4px 4px 6px}
  .reading-pages-corner{bottom:2px;right:1px;font-size:clamp(6.5px,1.8vw,8px);padding:2px 2px;border-radius:3px}
  .reading-info{gap:3px;min-width:0}
  .reading-title{font-size:clamp(9px,2.5vw,11px);min-height:22px;line-height:1.13;-webkit-line-clamp:2;overflow-wrap:anywhere}
  .reading-author{font-size:clamp(7.5px,2vw,9px);line-height:1.15}
  .reading-dates{grid-template-columns:1fr;gap:4px;margin-top:2px;padding-top:5px;min-width:0}
  .reading-dates>div{gap:1px;min-width:0}
  .reading-dates span{font-size:8px;line-height:1.1}
  .reading-dates strong{font-size:clamp(7.3px,1.9vw,9px);line-height:1.1;letter-spacing:-.1px;min-width:0;overflow:hidden;text-overflow:ellipsis}
}
@media (max-width:385px){
  .reading-shelf{gap:5px;grid-auto-columns:calc((100% - 15px - 6px)/4)}
  .reading-tile{padding:3px 2px 5px}
  .reading-percent-tag{font-size:8px;padding:3px 3px 5px}
  .reading-dates span{font-size:7.5px}
}

/* Literary Haven v0.2.7-preview.3: display options and filter sheet */
.lh-library-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 15px;padding:1px 0;min-width:0}
.lh-filter-current{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.lh-filter-label{font-family:var(--serif);font-size:22px;font-weight:700;color:#5d5445;line-height:1.06;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lh-filter-current small{font-size:11px;color:#968774}
.btn.lh-filter-button{flex:none;min-height:39px;gap:8px;border-radius:11px;background:linear-gradient(140deg,#f7f1e5,#ebe2d0);border:1px solid #d8c9b3;color:#6b5a43;box-shadow:0 2px 5px #654d2612;padding:9px 12px}
.btn.lh-filter-button:hover,.btn.lh-filter-button.is-active{border-color:#98a47e;background:#e7ebdf;color:#536346}
.lh-filter-button svg{color:#7c8967}.lh-filter-number{border-radius:7px;background:#738461;color:white;min-width:18px;height:18px;display:grid;place-items:center;font-size:10px}
.lh-filter-chevron{font-size:19px;line-height:0;transform:translateY(-3px);color:#8d816f}
.lh-filter-form{gap:16px}.lh-filter-fieldset{border:0;padding:0;margin:0;min-width:0}.lh-filter-fieldset legend{font-size:12px;font-weight:750;color:#655744;margin-bottom:9px}
.lh-filter-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.lh-filter-choice,.lh-layout-pick{position:relative;display:block;min-width:0;cursor:pointer}
.lh-filter-choice input,.lh-layout-pick input{position:absolute;opacity:0;width:1px;height:1px}
.lh-filter-choice span,.lh-layout-pick span{display:flex;align-items:center;justify-content:center;min-height:38px;min-width:0;text-align:center;padding:8px 9px;background:#fff8eb;color:#736654;border:1px solid #dfd1bc;border-radius:10px;font-size:11px;font-weight:650;transition:background .15s,border .15s,transform .15s}
.lh-filter-choice:hover span,.lh-layout-pick:hover span{background:#f1ebdb;border-color:#afa182}
.lh-filter-choice input:checked+span,.lh-layout-pick input:checked+span{background:linear-gradient(125deg,#dce7d4,#ebedde);border-color:#72875f;color:#455f3d;box-shadow:inset 0 0 0 1px #a2b49455}
.lh-filter-choice input:focus-visible+span,.lh-layout-pick input:focus-visible+span{outline:2px solid var(--olive);outline-offset:2px}
.lh-filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.lh-filter-grid .field select{appearance:none;-webkit-appearance:none;background:#fffaf2 linear-gradient(45deg,transparent 50%,#968470 50%) calc(100% - 17px) calc(50% - 1px)/5px 5px no-repeat;border:1px solid #ddcfb9;border-radius:11px;color:#605444;min-height:42px;padding:10px 32px 10px 12px;max-width:none;width:100%}
.lh-filter-toggle{display:flex;align-items:center;gap:11px;background:#f5ebde;border:1px solid #e3d5bf;padding:11px 13px;border-radius:11px;color:#796346;font-size:12px;font-weight:650;cursor:pointer}
.lh-filter-toggle input{accent-color:#708159;width:16px;height:16px}
.lh-filter-footer{border-top:1px solid #e2d5c2;padding-top:13px}
.lh-settings-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(245px,.8fr);gap:17px;align-items:start}
.lh-settings-side{min-width:0}.lh-display-settings{min-width:0}.lh-vintage-leaf{font-family:var(--serif);font-size:40px;color:#9ba782;line-height:1}
.lh-device-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;max-width:330px;padding:5px;border:1px solid #e0d1bc;background:#f1e8d8;border-radius:13px;margin:8px 0 18px}
.lh-device-tabs button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:39px;border:1px solid transparent;border-radius:9px;background:transparent;color:#82725d;font-weight:700}
.lh-device-tabs button.selected{background:#fff9ee;border-color:#d8cbb7;color:#5c6d4e;box-shadow:0 2px 7px #6047291a}
.lh-layout-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(174px,1fr);align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid #ece1d0}
.lh-layout-desc strong{font-size:12px;color:#5b513f}.lh-layout-desc p{color:#988979;font-size:10.5px;margin-top:3px;line-height:1.45}
.lh-layout-picks{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}
.lh-layout-pick span{min-width:37px;min-height:34px;padding:7px 9px;border-radius:9px}
.lh-layout-limits{border:1px solid #e4d5be;background:linear-gradient(140deg,#f8f0e3,#f3eee2);padding:15px;border-radius:13px;margin-top:12px}
.lh-layout-limits h3{font-size:23px;line-height:1.1}.lh-layout-limits>p{font-size:11px;color:#927e65;margin:3px 0 10px}
.lh-limit-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid #e7d9c7}.lh-limit-row strong{font-size:11px;flex:none;color:#6f614e}
.lh-limit-picks span{font-size:10px;min-width:0;padding:7px 9px}
.lh-save-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:8px;flex-wrap:wrap}
.lh-save-bar>span{color:#9b8b74;font-size:10.5px;flex:1;min-width:170px}
@media(min-width:741px){
  .lh-home-reading-desktop-3 .reading-shelf{grid-template-columns:repeat(3,minmax(0,1fr))}
  .lh-home-reading-desktop-4 .reading-shelf{grid-template-columns:repeat(4,minmax(0,1fr))}
  .lh-home-reading-desktop-5 .reading-shelf{grid-template-columns:repeat(5,minmax(0,1fr))}
  .lh-home-reading-desktop-6 .reading-shelf{grid-template-columns:repeat(6,minmax(0,1fr))}
  .lh-home-reading-desktop-7 .reading-shelf{grid-template-columns:repeat(7,minmax(0,1fr))}
  .lh-home-recent-desktop-3 .home-library-preview .book-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .lh-home-recent-desktop-4 .home-library-preview .book-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .lh-home-recent-desktop-5 .home-library-preview .book-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
  .lh-home-recent-desktop-6 .home-library-preview .book-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
  .lh-home-recent-desktop-7 .home-library-preview .book-grid{grid-template-columns:repeat(7,minmax(0,1fr))}
  .lh-home-recent-desktop-8 .home-library-preview .book-grid{grid-template-columns:repeat(8,minmax(0,1fr))}
  .lh-library-desktop-3 .book-grid.large{grid-template-columns:repeat(3,minmax(0,1fr))}
  .lh-library-desktop-4 .book-grid.large{grid-template-columns:repeat(4,minmax(0,1fr))}
  .lh-library-desktop-5 .book-grid.large{grid-template-columns:repeat(5,minmax(0,1fr))}
  .lh-library-desktop-6 .book-grid.large{grid-template-columns:repeat(6,minmax(0,1fr))}
  .lh-library-desktop-7 .book-grid.large{grid-template-columns:repeat(7,minmax(0,1fr))}
  .lh-library-desktop-8 .book-grid.large{grid-template-columns:repeat(8,minmax(0,1fr))}
}
@media(max-width:740px){
  .lh-library-toolbar{gap:10px;padding:1px 2px 0}
  .lh-filter-label{font-size:20px}
  .lh-filter-current small{font-size:10px}
  .lh-filter-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .lh-filter-choice span{padding:8px 4px;min-height:37px;font-size:10px}
  .lh-filter-grid{grid-template-columns:1fr 1fr;gap:8px}
  .lh-settings-layout{display:flex;flex-direction:column;gap:0}
  .lh-settings-layout>.section,.lh-settings-side{width:100%}
  .lh-layout-row{grid-template-columns:1fr;gap:9px;padding:12px 0}
  .lh-layout-picks{justify-content:flex-start}
  .lh-layout-pick span{min-width:40px}
  .lh-limit-row{align-items:flex-start;flex-direction:column;gap:7px}
  .lh-limit-picks{width:100%}.lh-limit-picks .lh-layout-pick{flex:1}.lh-limit-picks span{padding:7px 5px}
  .lh-save-bar .btn{width:100%}
  .book-grid.large .cover-title,.home-library-preview .book-grid .cover-title{font-size:clamp(11px,3.2vw,20px);overflow-wrap:anywhere}
  .lh-home-reading-mobile-2 .reading-shelf{grid-auto-flow:column;grid-auto-columns:calc((100% - 12px)/2);gap:6px}
  .lh-home-reading-mobile-3 .reading-shelf{grid-auto-flow:column;grid-auto-columns:calc((100% - 18px)/3);gap:6px}
  .lh-home-reading-mobile-4 .reading-shelf{grid-auto-flow:column;grid-auto-columns:calc((100% - 24px)/4);gap:6px}
  .lh-home-reading-mobile-5 .reading-shelf{grid-auto-flow:column;grid-auto-columns:calc((100% - 30px)/5);gap:6px}
  .lh-home-recent-mobile-2 .home-library-preview .book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lh-home-recent-mobile-3 .home-library-preview .book-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .lh-home-recent-mobile-4 .home-library-preview .book-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .lh-library-mobile-2 .book-grid.large{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lh-library-mobile-3 .book-grid.large{grid-template-columns:repeat(3,minmax(0,1fr))}
  .lh-library-mobile-4 .book-grid.large{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:385px){
  .lh-home-reading-mobile-2 .reading-shelf{grid-auto-columns:calc((100% - 11px)/2);gap:5px}
  .lh-home-reading-mobile-3 .reading-shelf{grid-auto-columns:calc((100% - 16px)/3);gap:5px}
  .lh-home-reading-mobile-4 .reading-shelf{grid-auto-columns:calc((100% - 21px)/4);gap:5px}
  .lh-home-reading-mobile-5 .reading-shelf{grid-auto-columns:calc((100% - 26px)/5);gap:5px}
  .lh-filter-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.lh-filter-choice span,.lh-layout-pick span{transition:none}}
