/* Clearer type hierarchy and balanced proportions, in the existing library palette. */
body{--muted:#566452;font-size:15px;line-height:1.6}
body.paper-theme{--muted:#b8c4af}
.titlebar strong{font-weight:700;letter-spacing:-.6px}
.titlebar-sub{font-size:13px}
.menubar{height:auto;min-height:64px;padding-top:14px;padding-bottom:14px}
.menu-left{gap:20px;min-width:0}
.menu-left>button{font-size:13px;font-weight:600;color:var(--ink);min-height:40px}
.support-button{font-size:13px;font-weight:600;flex-shrink:0}
.tabs{gap:12px;padding-top:8px}
#main-tabs .tab{font-size:16px;font-weight:650;color:var(--ink);padding:14px 20px;min-height:58px;gap:10px;border-radius:9px 9px 0 0}
#main-tabs .tab[aria-current=page]{font-weight:700;color:var(--accent);background:var(--selected);border-bottom:3px solid var(--accent)}
#main-tabs .tab:hover{background:var(--desk)}
#main-tabs .tab>span{font-size:21px;color:var(--accent)}
.sidebar-heading,.sidebar-label{font-size:11px;line-height:1.5;letter-spacing:1px;font-weight:700;color:var(--ink)}
.tree-button,.subject-button{font-size:13px;line-height:1.5;min-height:42px;color:var(--ink)}
.tree-button.active{font-weight:700}
.nav-count{font-size:11px}
.network-brand strong{font-size:21px;line-height:1.35}
.network-brand small{font-size:12px;line-height:1.6}
.sidebar-shelf strong{font-size:15px}
.sidebar-shelf p{font-size:13px;line-height:1.6}
.sidebar-shelf .retro-button{font-size:12px;min-height:44px}
.breadcrumb{font-size:12px;line-height:1.6}
.eyebrow,.section-heading .eyebrow{font-size:11px;line-height:1.5;letter-spacing:1.4px;font-weight:700}
.page-heading{min-height:160px;margin:24px 0 28px;gap:24px}
h1{font-size:clamp(46px,4.5vw,64px);line-height:1.06}
#page-description{font-size:15px;line-height:1.7;max-width:580px}
.section-heading h2,.network-panel .section-heading h2{font-size:23px;line-height:1.3;font-weight:650;letter-spacing:-.5px}
.section-heading{gap:16px;align-items:center}
.network-panel{padding:24px;margin-bottom:28px}
.network-panel #network-count{font-size:12px;line-height:1.5}
.network-selects label{font-size:12px;font-weight:600;color:var(--ink)}
.network-selects select{font-size:14px;min-height:44px;padding:10px;margin-top:8px}
.region-shortcuts button{font-size:13px;min-height:42px;padding:9px 14px;font-weight:600}
.network-foot p,.network-foot button{font-size:12px;line-height:1.6}
.network-foot button{min-height:40px}
.start-marker{font-size:13px;line-height:1.5}
.menu-left .start-actions button{padding:11px 14px;min-height:65px}
.menu-left .start-actions button strong{font-size:14px;line-height:1.4}
.menu-left .start-actions button span{font-size:12px;line-height:1.5}
.searchbox{height:56px}
.searchbox input{font-size:16px}
.search-signpost,.search-signpost button{font-size:13px;line-height:1.7}
.filter-row{font-size:13px;gap:12px}
.filter-row label{font-weight:600;color:var(--ink)}
.filter-row select{font-size:13px;min-height:42px;padding:8px;max-width:220px}
.filter-row #reset-filters{font-size:13px;min-height:40px}
.editor-label{font-size:12px;line-height:1.5}
.pick-card{padding:20px}
.pick-kicker{font-size:10px;line-height:1.5;font-weight:700;color:#725214}
.pick-card>a{font-size:20px;line-height:1.4;font-weight:700;overflow-wrap:anywhere}
.pick-card>p{font-size:14px;line-height:1.65;color:#635438}
.pick-bottom{font-size:12px;color:#6b5426;align-items:center}
.pick-bottom button{font-size:13px;min-height:44px;font-weight:650}
.result-count{font-size:15px}
.result-count strong{font-weight:700}
.view-controls,.view-controls>label{font-size:12px}
.view-controls select{font-size:14px;min-height:42px}
.density-button{min-height:42px;padding:8px 10px;font:600 12px var(--sans)}
.list-head{font-size:11px;font-weight:700;letter-spacing:1px;padding:12px}
.resource-row{padding-top:22px;padding-bottom:22px}
.resource-name{font-size:16px;line-height:1.5;font-weight:700}
.resource-description{font-size:14px;line-height:1.7;margin:7px 0 9px}
.resource-tags{font-size:12px;line-height:1.6}
.resource-avatar{width:40px;height:40px;flex-basis:40px}
.access-badge{font-size:11px;line-height:1.4;font-weight:600}
.access-badge.mixed{color:#6b5528}.access-badge.library{color:#665179}.access-badge.paid{color:#804a39}
.save-button,.info-button{min-width:36px;min-height:40px}
.row-actions{gap:4px}
.recommendation-badge{font-size:11px;line-height:1.4}
.folder-grid{gap:16px}
.folder-tile{padding:24px;min-height:158px}
.folder-tile strong{font-size:18px;font-weight:700;line-height:1.4;letter-spacing:-.2px}
.folder-tile small{font-size:13px;line-height:1.5}
.shelf-card .folder-tile{padding-top:86px}
.shelf-cover{top:18px;left:24px;width:58px;height:50px}
.shelf-delete,.shelf-toolbar p,.section-intro,.storage-note{font-size:13px;line-height:1.7}
.retro-button{min-height:44px;font-size:13px;font-weight:600}
.content-footer,.content-footer button,.statusbar,.list-end{font-size:12px;line-height:1.6}
.content-footer{flex-wrap:wrap;gap:12px 20px}
.dialog-titlebar{font-size:15px;font-weight:650}
.dialog-titlebar button{min-width:40px;min-height:40px}
#modal-content p,.finder-body p{font-size:14px;line-height:1.7}
.form-label,.checkbox-label{font-size:14px}
.dialog-input{font-size:16px;min-height:46px}
.detail-meta dt{font-size:11px;font-weight:700}
.detail-meta dd{font-size:13px;line-height:1.6}
.small-note{font-size:12px!important;line-height:1.6}
.theme-choice{font-size:14px;font-weight:600;min-height:84px}
@media(min-width:761px){.resource-row,.list-head{grid-template-columns:minmax(0,1fr) 100px 84px}}
@media(min-width:1500px){main{padding-left:48px;padding-right:48px}.workspace{grid-template-columns:250px minmax(0,1fr)}}
@media(min-width:761px) and (max-width:1100px){
 .menubar{align-items:flex-start;flex-wrap:wrap}
 .menu-left{flex:1;gap:12px}
 #main-tabs .tab{font-size:15px;padding:13px 14px}
 .tabs{gap:6px}
 .picks-grid{grid-template-columns:1fr}
 .pick-card>p{margin:8px 0 12px}
 .hero-network{display:none}
 .resource-row,.list-head{grid-template-columns:minmax(0,1fr) 90px 80px}
 .filter-row label{flex-wrap:wrap}
 .folder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 body{padding-bottom:calc(86px + env(safe-area-inset-bottom))}
 .titlebar strong{font-size:22px}
 .titlebar #watch-tour{font-size:12px;font-weight:650}
 #mobile-menu-button{font-size:13px;font-weight:650}
 .mobile-layout-ready #main-tabs{padding:7px 5px calc(7px + env(safe-area-inset-bottom));box-shadow:0 -4px 20px #172a0f0a}
 #main-tabs .tab,#main-tabs .tab[aria-current=page]{font-size:12px;font-weight:700;line-height:1.3;white-space:normal;min-height:62px;padding:7px 2px;gap:5px;border:0;border-radius:10px;color:var(--ink)}
 #main-tabs .tab[aria-current=page]{color:var(--accent);box-shadow:inset 0 3px var(--accent)}
 #main-tabs .tab>span{font-size:22px;line-height:24px}
 .page-heading{min-height:0;margin:20px 0 24px}
 h1{font-size:clamp(38px,10.5vw,48px);line-height:1.08}
 #page-description{font-size:15px;line-height:1.65}
 #page-description br{display:block}
 .breadcrumb{font-size:12px}
 .eyebrow,.section-heading .eyebrow{font-size:10px;letter-spacing:1.1px}
 main>.start-signpost{padding:15px}
 .start-marker{font-size:13px}
 main .start-actions button{padding:12px 10px;min-height:92px}
 main .start-actions button strong{font-size:14px;font-weight:700;line-height:1.4}
 main .start-actions button span{font-size:12px;line-height:1.5}
 .search-signpost{font-size:13px;line-height:1.65}
 .mobile-disclosure{font-size:15px;font-weight:650;min-height:52px;padding:12px 14px}
 #network-panel{padding:16px}
 #network-panel .section-heading h2,.section-heading h2{font-size:21px;font-weight:650;line-height:1.3}
 #network-panel .section-heading{gap:10px}
 #network-count{font-size:12px!important;max-width:80px!important}
 .network-selects label{font-size:13px}
 .network-selects select,.filter-row select,.filter-row label:nth-child(2) select{font-size:16px;min-height:46px;max-width:100%}
 .editor-label{font-size:11px;max-width:92px;line-height:1.5}
 .pick-card{padding:18px;flex-basis:88%}
 .pick-card>a{font-size:21px}
 .pick-card>p{font-size:14px}
 .pick-bottom,.pick-bottom button{font-size:12px}
 .resource-row,.resource-row.compact{padding:17px;gap:12px 8px}
 .resource-name{font-size:17px;line-height:1.45}
 .resource-description{font-size:14px;line-height:1.65}
 .resource-tags{font-size:12px;line-height:1.6}
 .resource-row>.access-badge{font-size:12px;margin-left:52px}
 .save-button,.info-button{min-width:44px;min-height:44px}
 .result-count{font-size:15px}
 .view-controls select{font-size:16px}
 .density-button{font-size:20px}
 .folder-tile{padding:18px 15px;min-height:154px}
 .folder-tile strong{font-size:17px;line-height:1.4}
 .folder-tile small{font-size:12px}
 .shelf-cover{left:16px}
 .storage-note{font-size:13px}
 .content-footer,.content-footer a,.content-footer button{font-size:12px}
 .statusbar{font-size:11px}
 #toast{bottom:calc(96px + env(safe-area-inset-bottom))}
}
@media(max-width:360px){
 .titlebar strong{font-size:19px}
 .titlebar #watch-tour{font-size:11px}
 #main-tabs .tab,#main-tabs .tab[aria-current=page]{font-size:11px}
 .resource-row,.resource-row.compact{padding:14px}
 .resource-row>.access-badge{margin-left:0}
 main>.start-signpost{padding:12px}
 main .start-actions button{padding:10px 8px}
 main .start-actions button strong{font-size:13px}
 .folder-grid{gap:10px}
}

/* Keep the full sort label readable on phones and desktop. */
.view-controls select,.sort-label select{max-width:none;min-width:140px}
.view-controls{flex-wrap:wrap}
.ranking-note{font-size:12px;line-height:1.6;color:var(--muted);margin:0 0 14px}
.ranking-note a{color:var(--accent);text-underline-offset:3px}

/* Catalogue search and complete plain-text link export. */
.collection-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.collection-tools .section-intro{flex:1 1 260px;margin:0}.collection-count{color:var(--muted);margin:20px 0}.copy-links-text{display:block;width:100%;min-height:240px;max-height:45vh;resize:vertical;font:14px/1.65 monospace;overflow:auto;white-space:pre;box-sizing:border-box}#copy-list-feedback{min-height:1.5em}#copy-list-scope{width:100%}.view-controls{flex-wrap:wrap}.results-toolbar{gap:12px;flex-wrap:wrap}button.recommendation-badge{font:inherit;font-size:12px;cursor:pointer}button.recommendation-badge:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media(max-width:760px){.view-controls{width:100%;gap:10px;justify-content:flex-start}.view-controls .retro-button{min-height:44px}.collection-tools .retro-button{min-height:44px}.copy-links-text{font-size:16px;min-height:180px}.dialog-actions{flex-wrap:wrap}}
