.library-container{display:flex;flex-direction:column;min-height:100vh;}.library-header{position:sticky;top:0;z-index:var(--z-sticky);background-color:var(--color-surface);border-bottom:1px solid var(--color-border);padding:var(--spacing-md) var(--spacing-lg);}.library-header-content{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);flex-wrap:wrap;}.library-title{display:flex;align-items:center;gap:var(--spacing-sm);}.library-title h1{font-size:var(--font-size-xl);margin:0;}.library-title .badge{font-size:var(--font-size-xs);}.library-controls{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap;}.search-box{position:relative;min-width:250px;}.search-box input{width:100%;padding-left:36px;}.search-box-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none;}.filter-group{display:flex;align-items:center;gap:var(--spacing-sm);}.filter-select{min-width:140px;}.view-toggle{display:flex;background-color:var(--color-bg-secondary);border-radius:var(--radius-md);padding:2px;}.view-toggle-btn{padding:var(--spacing-xs) var(--spacing-sm);background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-tertiary);transition:all var(--transition-fast);}.view-toggle-btn:hover{color:var(--color-text);}.view-toggle-btn.active{background-color:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm);}.library-main{flex:1;padding:var(--spacing-lg);max-width:1400px;margin:0 auto;width:100%;}.scenario-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-lg);}.scenario-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--transition-base);cursor:pointer;}.scenario-card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-md);transform:translateY(-2px);}.scenario-card.selected{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-soft);}.scenario-card-preview{display:flex;gap:var(--spacing-xs);padding:var(--spacing-sm);background-color:var(--color-bg-secondary);overflow-x:auto;}.scenario-card-preview .mini-card{width:60px;height:84px;flex-shrink:0;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--color-border);}.scenario-card-preview .mini-card img{width:100%;height:100%;object-fit:cover;}.scenario-card-body{padding:var(--spacing-md);}.scenario-card-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs);display:flex;align-items:center;gap:var(--spacing-sm);}.scenario-card-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);font-size:var(--font-size-xs);color:var(--color-text-tertiary);}.scenario-card-meta-item{display:flex;align-items:center;gap:4px;}.scenario-card-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:var(--spacing-sm);}.scenario-card-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);}.scenario-tag{padding:2px 8px;font-size:var(--font-size-xs);background-color:var(--color-bg-tertiary);color:var(--color-text-secondary);border-radius:var(--radius-full);}.consultant-tags{margin-top:var(--spacing-xs);align-items:center;}.consultant-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;font-size:var(--font-size-xs);font-weight:600;color:var(--color-consultant,#ec4899);background-color:color-mix(in srgb,var(--color-consultant,#ec4899) 14%,transparent);border:1px solid color-mix(in srgb,var(--color-consultant,#ec4899) 42%,transparent);border-radius:var(--radius-full);}.consultant-chip svg{flex:0 0 auto;}.consultant-chip.lead{background-color:color-mix(in srgb,var(--color-consultant,#ec4899) 24%,transparent);border-color:color-mix(in srgb,var(--color-consultant,#ec4899) 65%,transparent);}.consultant-tag{border:1px solid color-mix(in srgb,var(--color-consultant,#ec4899) 30%,transparent);}.scenario-list{display:flex;flex-direction:column;gap:var(--spacing-sm);}.scenario-list-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);}.scenario-list-item:hover{border-color:var(--color-border-hover);background-color:var(--color-surface-hover);}.scenario-list-item.selected{border-color:var(--color-primary);background-color:var(--color-primary-soft);}.scenario-list-preview{display:flex;gap:4px;flex-shrink:0;}.scenario-list-preview .mini-card{width:40px;height:56px;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--color-border);}.scenario-list-preview .mini-card img{width:100%;height:100%;object-fit:cover;}.scenario-list-content{flex:1;min-width:0;}.scenario-list-title{font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs);display:flex;align-items:center;gap:var(--spacing-sm);}.scenario-list-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-tertiary);}.scenario-list-actions{display:flex;gap:var(--spacing-sm);flex-shrink:0;}.difficulty-rating{display:flex;gap:2px;}.difficulty-dot{width:8px;height:8px;border-radius:50%;background-color:var(--color-bg-tertiary);}.difficulty-dot.filled{background-color:var(--color-warning);}.difficulty-dot.filled.high{background-color:var(--color-danger);}.action-bar{position:fixed;bottom:var(--spacing-lg);left:50%;transform:translateX(-50%) translateY(100px);display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);opacity:0;visibility:hidden;transition:all var(--transition-base);z-index:var(--z-sticky);}.action-bar.visible{transform:translateX(-50%) translateY(0);opacity:1;visibility:visible;}.action-bar-info{padding-right:var(--spacing-md);border-right:1px solid var(--color-border);font-size:var(--font-size-sm);color:var(--color-text-secondary);}.action-bar-info strong{color:var(--color-text);}.action-bar-buttons{display:flex;gap:var(--spacing-sm);}.library-empty{text-align:center;padding:var(--spacing-2xl);}.library-empty-icon{font-size:48px;color:var(--color-text-muted);margin-bottom:var(--spacing-md);}.library-empty h3{margin-bottom:var(--spacing-sm);}.library-empty p{color:var(--color-text-tertiary);margin-bottom:var(--spacing-lg);}.import-dropzone{border:2px dashed var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-2xl);text-align:center;transition:all var(--transition-fast);cursor:pointer;}.import-dropzone:hover,.import-dropzone.drag-over{border-color:var(--color-primary);background-color:var(--color-primary-soft);}.import-dropzone-icon{font-size:32px;color:var(--color-text-muted);margin-bottom:var(--spacing-md);}.import-dropzone h4{margin-bottom:var(--spacing-xs);}.import-dropzone p{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin:0;}.save-modal-form{display:flex;flex-direction:column;gap:var(--spacing-md);}.save-modal-preview{display:flex;gap:var(--spacing-sm);padding:var(--spacing-md);background-color:var(--color-bg-secondary);border-radius:var(--radius-md);overflow-x:auto;}.tags-input{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);min-height:42px;}.tags-input input{flex:1;min-width:100px;border:none;outline:none;background:transparent;font-size:var(--font-size-sm);color:var(--color-text);}.tags-input .tag{display:flex;align-items:center;gap:4px;padding:2px 8px;background-color:var(--color-primary);color:var(--color-text-inverse);border-radius:var(--radius-full);font-size:var(--font-size-xs);}.tags-input .tag button{background:none;border:none;color:inherit;cursor:pointer;padding:0;line-height:1;}@media (max-width:768px){.library-header-content{flex-direction:column;align-items:stretch;}.library-controls{flex-direction:column;align-items:stretch;}.search-box{min-width:100%;}.filter-group{justify-content:space-between;}.scenario-grid{grid-template-columns:1fr;}.scenario-list-item{flex-direction:column;align-items:stretch;}.scenario-list-preview{justify-content:center;}.scenario-list-actions{justify-content:center;margin-top:var(--spacing-sm);}.action-bar{left:var(--spacing-md);right:var(--spacing-md);transform:translateX(0) translateY(100px);flex-direction:column;text-align:center;}.action-bar.visible{transform:translateX(0) translateY(0);}.action-bar-info{padding-right:0;padding-bottom:var(--spacing-sm);border-right:none;border-bottom:1px solid var(--color-border);}}.library-header{background:linear-gradient(180deg,rgba(255,255,255,0.035),rgba(255,255,255,0) 60%),linear-gradient(180deg,var(--color-bg-secondary),var(--color-bg));border-bottom:1px solid rgba(255,255,255,0.06);box-shadow:0 8px 22px rgba(0,0,0,0.28);}.scenario-card{box-shadow:var(--shadow-card);}.scenario-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--color-primary) 55%,var(--color-border));box-shadow:var(--shadow-card-hover),0 0 0 1px color-mix(in srgb,var(--color-primary) 20%,transparent);}.scenario-card.selected{border-color:var(--color-primary);box-shadow:var(--shadow-card-hover),0 0 0 2px color-mix(in srgb,var(--color-primary) 35%,transparent);}.scenario-card-preview{background:linear-gradient(180deg,rgba(0,0,0,0.2),rgba(0,0,0,0.05)),var(--color-bg-secondary);box-shadow:inset 0 1px 6px rgba(0,0,0,0.3);}.scenario-card-preview .mini-card,.scenario-list-preview .mini-card{box-shadow:0 1px 3px rgba(0,0,0,0.45),0 4px 10px rgba(0,0,0,0.25);}.action-bar{box-shadow:0 2px 10px rgba(0,0,0,0.5),0 18px 44px rgba(0,0,0,0.5),inset 0 1px 0 rgba(255,255,255,0.06);}.import-dropzone{background:rgba(255,255,255,0.012);}.deck-filter-cover{height:36px;width:auto;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);}