.taste-library { width:100%; min-width:0; padding:28px 0; margin:24px 0; border-top:1px solid #9cb3a8; }
.taste-library * { box-sizing:border-box; }
.taste-library { scroll-margin-top:90px; }
body.library-visible .mobile-tabbar { display:none; }
.taste-library h2 { font-size:26px; letter-spacing:0; }
.taste-library h3 { font-size:21px; overflow-wrap:anywhere; }
.taste-library label { display:flex; flex-direction:column; gap:8px; min-width:0; }
.taste-library input,.taste-library select { font:inherit; padding:10px; min-height:44px; border:1px solid #789587; border-radius:4px; background:white; color:#193b2d; max-width:100%; }
.taste-library input[type=checkbox] { min-height:22px; width:22px; height:22px; accent-color:#26754c; }
.taste-library button { font:inherit; padding:10px 14px; min-height:44px; border:1px solid #648575; border-radius:4px; background:#edf6f0; color:#193b2d; cursor:pointer; }
.taste-library button:disabled { opacity:.5; cursor:default; }
.taste-library button:focus-visible { outline:3px solid #217d50; outline-offset:2px; }
.library-toolbar { display:flex; flex-wrap:wrap; gap:12px; align-items:end; margin:18px 0; }
.library-toolbar>* { max-width:100%; min-width:0; }
.library-row { display:flex; flex-wrap:wrap; gap:12px; align-items:center; padding:18px 0; border-bottom:1px solid #b9cabe; }
.library-row>label { flex:1 1 160px; overflow-wrap:anywhere; }
.library-row>div { flex:2 1 220px; min-width:0; overflow-wrap:anywhere; }
.library-row small { display:block; margin-top:8px; }
.library-row form { width:100%; display:flex; gap:12px; flex-wrap:wrap; align-items:end; }
#libraryComparison { overflow-wrap:anywhere; }
#libraryComparison dt { font-weight:700; margin-top:12px; }
#libraryComparison dd { margin:6px 0 16px; }
#libraryStatus { min-height:24px; overflow-wrap:anywhere; }
@media(max-width:600px){.library-toolbar>label{width:100%;}.taste-library h2{font-size:23px;}.taste-library input[type=file]{width:100%;}.library-row>div{flex-basis:100%;}}
