.library-page{width:100%;min-width:0;max-width:none;margin:0;padding:0}.library-page .library-header{align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-5);display:flex}.library-header>img{object-fit:contain;flex:none}.library-heading{flex:1;min-width:0}.library-page .library-heading h1{font-size:var(--text-2xl);margin:0}.library-heading p{margin:var(--sp-1) 0 0;color:var(--ink-2);max-width:65ch}.library-page .library-actions{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.library-page .library-actions .btn,.library-page .library-actions button{white-space:normal;text-align:center}.library-page .library-nav{margin:0 0 var(--sp-5);flex-wrap:wrap;max-width:100%}.library-page .library-help,.library-page .ai-learn{margin:0 0 var(--sp-5);padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}.library-help summary,.library-more-filters summary{cursor:pointer;font-weight:650}.library-help p{margin-top:var(--sp-3)}.library-filters{margin-bottom:var(--sp-5)}.library-filter-row{gap:var(--sp-4);flex-wrap:wrap;align-items:end;display:flex}.library-page .library-field{gap:var(--sp-2);min-width:0;font-weight:650;font-size:var(--text-sm);flex-direction:column;flex:140px;margin:0;display:flex}.library-page .library-search{flex:3 260px}.library-page .library-field input,.library-page .library-field select{width:100%;min-width:0;min-height:var(--target);border:1.5px solid var(--line-strong);border-radius:var(--r-sm);background-color:var(--surface);color:var(--ink);font-size:var(--text-md);padding:6px 12px}.library-more-filters{margin-top:var(--sp-4)}.library-more-filters summary{width:fit-content;min-height:var(--target);padding-block:var(--sp-2)}.library-more-filters .library-filter-row{margin-top:var(--sp-3)}.library-page .library-grid{gap:var(--sp-5);margin:var(--sp-5) 0;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));display:grid}.library-page .library-card{min-width:0;padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--ink);overflow-wrap:anywhere;box-shadow:var(--shadow-sm);transition:box-shadow var(--dur), transform var(--dur);flex-direction:column;text-decoration:none;display:flex}.library-page .library-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.library-page .library-card h2,.library-page .library-card h3,.library-page .library-card .name{margin:var(--sp-3) 0 var(--sp-1);font-size:var(--text-lg);font-weight:750}.library-card p{margin:0 0 var(--sp-3)}.library-card .caption,.library-card small,.library-card .library-metadata{color:var(--ink-2);font-size:var(--text-sm)}.library-page .library-preview,.library-page .library-card .mapimg,.library-page .library-card .music-cover,.library-page .library-card .skin-thumbnail{aspect-ratio:1;object-fit:contain;border-radius:var(--r-sm);background:var(--surface-2);flex:none;width:100%;height:auto}.library-page .library-card .music-cover{object-fit:cover}.library-preview-placeholder{place-items:center;display:grid}.library-page .music-card-body{flex-direction:column;flex:1;padding:0;display:flex}.library-page .music-card-actions{padding-top:var(--sp-3);margin-top:auto}.library-page .music-selection{background:var(--surface-3);color:var(--ink);border:1px solid var(--line-strong)}.library-page .skin-card-open{width:100%;min-width:0}.library-page .skin-card-actions{padding-top:var(--sp-3);margin-top:auto}.library-page .library-card button{font-size:var(--text-md)}.library-page .skin-card-state{color:var(--ink-2);font-size:var(--text-sm)}.library-page .list.empty{margin:var(--sp-5) 0;padding:var(--sp-6)}.library-page .empty .library-actions{justify-content:center}.library-results{min-width:0}@media (width<=800px){.library-page .library-header{flex-wrap:wrap}.library-header .library-actions{flex-basis:100%}}@media (width<=480px){.library-page .library-filter-row>.library-field{flex-basis:100%}.library-page .library-header{align-items:flex-start}.library-page .library-header>img{width:44px;height:44px}.library-page .library-nav a{white-space:normal}.library-page .ai-learn-summary{flex-wrap:wrap}.library-page .ai-learn-summary p{flex-basis:100%}}@media (prefers-reduced-motion:reduce){.library-page .library-card{transition:none}.library-page .library-card:hover{transform:none}}.library-page.skin-collection{width:100%;margin:0;padding:0;overflow:visible}.library-empty-copy{margin-block:var(--sp-3)}.library-page .library-card .skin-thumbnail{position:relative}.library-page .skin-card-actions summary{min-width:var(--target);min-height:var(--target);text-align:center}.library-filters>button[hidden]{display:none}.library-page .skin-thumbnail>.skin-viewport{position:absolute;inset:0}.library-description{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.library-navigation{align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-5);flex-wrap:wrap;display:flex}.library-page .library-navigation .library-nav{margin-bottom:0}.library-page.music-library{max-width:none;margin:0;padding:0}.library-page .library-card .library-checkbox{align-items:center;gap:var(--sp-2);font-weight:400;font-size:var(--text-sm);color:var(--ink-2);flex-direction:row;display:flex}.library-page .library-checkbox input{flex:none}.library-page .library-field select{background-image:linear-gradient(45deg, transparent 50%, var(--ink-2) 50%), linear-gradient(135deg, var(--ink-2) 50%, transparent 50%);background-position:calc(100% - 18px),calc(100% - 13px);background-repeat:no-repeat;background-size:5px 5px;padding-inline-end:32px}.library-status{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.library-feedback{min-height:180px;padding:var(--sp-6);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);justify-content:center;align-items:flex-start;gap:var(--sp-3);flex-direction:column;display:flex}.library-feedback .notice,.library-feedback .loading{margin:0}@media (width<=800px){.library-page .library-nav{border-radius:var(--r-md)}.library-page .library-nav>a,.library-page .library-nav>button{border-radius:var(--r-pill)}}
