.tag-form{gap:var(--spacing-lg);flex-direction:column;display:flex}.tag-form__field{gap:var(--spacing-xs);flex-direction:column;display:flex}.tag-form__label{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:600}.tag-form__input{width:100%;min-height:44px;padding:var(--spacing-sm) var(--spacing-md);border:var(--border-width-sm) solid var(--color-border-strong);border-radius:var(--radius-md);font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-input-bg);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);font-family:inherit}.tag-form__input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.tag-form__input::placeholder{color:var(--color-text-muted)}.tag-form__input.tag-form__input--error{border-color:var(--color-error)}.tag-form__error{font-size:var(--font-size-xs);color:var(--color-error);margin-top:var(--spacing-xs);display:block}.tag-form__error--server{margin:0}.tags-filter-bar{align-items:center;gap:var(--spacing-sm);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border);display:flex}.tags-filter-bar__row{align-items:center;gap:var(--spacing-sm);flex:1;min-width:0;display:flex}.tags-filter-bar__actions{align-items:center;gap:var(--spacing-sm);flex-shrink:0;margin-left:auto;display:flex}.tags-filter-bar__label{font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:var(--color-text-muted);flex-shrink:0;font-weight:700}.tags-filter-bar__status{font-size:var(--font-size-sm);color:var(--color-text-muted)}.tags-filter-bar__status--error{color:var(--color-error)}.tags-filter-bar__scroll{align-items:center;gap:var(--spacing-sm);scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap;flex:1;min-width:0;margin:-14px -2px -6px;padding:14px 2px 6px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12px calc(100% - 12px),#0000);mask-image:linear-gradient(90deg,#0000,#000 12px calc(100% - 12px),#0000)}.tags-filter-bar__scroll::-webkit-scrollbar{display:none}.tags-filter-bar__pill-wrap{align-items:center;gap:var(--spacing-xs);flex-shrink:0;display:inline-flex}.tags-filter-bar__pill{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);border:var(--border-width-sm) solid var(--color-border-strong);border-radius:var(--radius-full);background:var(--color-surface-raised);color:var(--color-text-secondary);font-family:inherit;font-size:var(--font-size-sm);cursor:pointer;white-space:nowrap;transition:border-color var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast);font-weight:500;display:inline-flex}.tags-filter-bar__pill:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-surface-hover)}.tags-filter-bar__pill--active{background:var(--color-primary-bg);border-color:var(--color-border-accent);color:var(--color-primary-text)}.tags-filter-bar__pill-name{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.tags-filter-bar__pill-actions{flex-shrink:0;align-items:center;gap:2px;display:inline-flex}.tags-filter-bar__create-btn{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);border:var(--border-width-sm) dashed var(--color-border-strong);border-radius:var(--radius-full);color:var(--color-primary-text);font-family:inherit;font-size:var(--font-size-sm);white-space:nowrap;cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);background:0 0;flex-shrink:0;font-weight:600;display:inline-flex}.tags-filter-bar__create-btn:hover:not(:disabled){background:var(--color-primary-light);border-color:var(--color-primary)}.tags-filter-bar__create-btn:disabled{color:var(--color-text-muted);cursor:not-allowed}.tags-filter-bar__create-icon{color:var(--color-primary);flex-shrink:0}.tags-filter-bar__create-btn:disabled .tags-filter-bar__create-icon{color:var(--color-text-muted)}.tags-filter-bar__create-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tags-filter-bar--locked{flex-wrap:nowrap}.tags-filter-bar__locked-content{min-width:0;color:var(--color-text-secondary);font-size:var(--font-size-sm);flex:auto;line-height:1.4}.tags-filter-bar__locked-highlight{color:var(--color-premium);font-weight:600}.tags-filter-bar__upgrade-btn{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);background:linear-gradient(135deg, var(--color-upgrade-gradient-start), var(--color-upgrade-gradient-end));border:1px solid var(--color-upgrade-border);border-radius:var(--radius-full);color:var(--color-premium);font-family:inherit;font-size:var(--font-size-sm);white-space:nowrap;cursor:pointer;transition:border-color var(--transition-fast);flex-shrink:0;font-weight:600;display:inline-flex}.tags-filter-bar__upgrade-btn:hover{border-color:var(--color-upgrade-border-hover)}.tags-filter-bar__upgrade-btn:focus-visible,.tags-filter-bar__pill:focus-visible,.tags-filter-bar__create-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.favorites-card{background:var(--color-card-surface);border-radius:var(--radius-lg);border:var(--border-width-sm) solid var(--color-border);box-shadow:var(--shadow-sm);transition:transform var(--transition-normal), box-shadow var(--transition-normal), border-color var(--transition-normal);position:relative}.favorites-card:hover,.favorites-card:focus-within{z-index:1}.favorites-card:hover{box-shadow:var(--shadow-card-hover);border-color:var(--color-primary);transform:translateY(-4px)}.favorites-card--selected,.favorites-card--selected:hover{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light), var(--shadow-primary-soft);transform:scale(.97)}.favorites-card__select{top:var(--spacing-sm);left:var(--spacing-sm);z-index:3;border-radius:var(--radius-full);color:#0000;cursor:pointer;-webkit-tap-highlight-color:transparent;width:26px;height:26px;transition:background-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);background:#00000073;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;transform:translateZ(0)}.favorites-card__select:hover{background:#000000a6;transform:scale(1.08)}.favorites-card__select:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.favorites-card__select--checked{background:var(--color-primary);color:var(--color-on-primary)}.favorites-card__select--checked:hover{background:var(--color-primary-hover)}.favorites-card__image-container{aspect-ratio:5/7;padding:var(--spacing-sm);position:relative}.favorites-card__art{border-radius:var(--radius-md);width:100%;height:100%;position:relative;overflow:hidden}.favorites-card__art:before{content:"";background:radial-gradient(circle at 50% 42%, var(--color-primary-glow) 0%, var(--color-primary-subtle) 45%, transparent 72%);pointer-events:none;z-index:0;position:absolute;inset:0}.favorites-card__view-trigger{z-index:1;cursor:pointer;border-radius:var(--radius-md);background:0 0;border:none;width:100%;height:100%;padding:0;display:block;position:relative}.favorites-card__view-trigger:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.favorites-card__image{object-fit:contain;border-radius:var(--radius-md);width:100%;height:100%}.favorites-card__overlay{z-index:2;border-radius:var(--radius-md);opacity:0;pointer-events:none;transition:opacity var(--transition-fast);background:#000000b8;justify-content:center;align-items:center;display:none;position:absolute;inset:0}.favorites-card:hover .favorites-card__overlay,.favorites-card:focus-within .favorites-card__overlay{opacity:1}.favorites-card__overlay-actions{align-items:center;gap:var(--spacing-sm);pointer-events:auto;display:flex}.favorites-card__overlay-actions--wrap{width:calc(32px * 3 + var(--spacing-sm) * 2);flex-wrap:wrap;justify-content:center}.favorites-card__overlay-btn{border-radius:var(--radius-full);background:var(--color-modal-bg);width:32px;height:32px;color:var(--color-text-primary);box-shadow:var(--shadow-sm);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);border:none;justify-content:center;align-items:center;display:flex}.favorites-card__overlay-btn:hover{background:var(--color-primary);color:var(--color-on-primary);transform:scale(1.08)}.favorites-card__overlay-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (width>=768px){.favorites-card__overlay{display:flex}}.favorites-card__more{top:var(--spacing-sm);right:var(--spacing-sm);z-index:3;border-radius:var(--radius-full);width:32px;height:32px;color:var(--color-white);cursor:pointer;background:#0000008c;border:none;justify-content:center;align-items:center;display:flex;position:absolute}.favorites-card__more:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (width>=768px){.favorites-card__more{display:none}}.favorites-card__collection-dots{left:var(--spacing-md);bottom:var(--spacing-md);z-index:1;align-items:center;gap:var(--spacing-xs);padding:3px var(--spacing-xs);border-radius:var(--radius-full);pointer-events:none;background:#0000008c;display:flex;position:absolute}.favorites-card__info{padding:var(--spacing-sm) var(--spacing-md) var(--spacing-md)}.favorites-card__name{font-size:var(--font-size-sm);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;margin:0;font-weight:600;overflow:hidden}.favorites-card__meta{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin:var(--spacing-xs) 0 0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.favorites-card__tag-dots{align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-xs);flex-wrap:wrap;display:flex}@media (prefers-reduced-motion:reduce){.favorites-card,.favorites-card__overlay,.favorites-card__overlay-btn,.favorites-card__select{transition:none}.favorites-card:hover,.favorites-card--selected,.favorites-card--selected:hover,.favorites-card__select:hover{transform:none}}.favorite-row{align-items:center;gap:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-card-surface);border-radius:var(--radius-lg);border:var(--border-width-sm) solid var(--color-border);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform var(--transition-normal), box-shadow var(--transition-normal), border-color var(--transition-normal);display:flex;position:relative}.favorite-row:hover,.favorite-row:focus-within{z-index:1}.favorite-row:hover{box-shadow:var(--shadow-card-hover);border-color:var(--color-primary);transform:translateY(-2px)}.favorite-row--selected,.favorite-row--selected:hover{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light), var(--shadow-primary-soft);transform:scale(.99)}.favorite-row__select{border:var(--border-width-sm) solid var(--color-border-strong);border-radius:var(--radius-full);background:var(--color-surface-raised);color:#0000;cursor:pointer;-webkit-tap-highlight-color:transparent;width:26px;height:26px;transition:background-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex;transform:translateZ(0)}.favorite-row__select:hover{background:var(--color-border-strong);transform:scale(1.08)}.favorite-row__select:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.favorite-row__select--checked{background:var(--color-primary);color:var(--color-on-primary)}.favorite-row__select--checked:hover{background:var(--color-primary-hover)}.favorite-row__thumb{flex-shrink:0;width:88px;height:123px}.favorite-row__view-trigger{cursor:pointer;border-radius:var(--radius-md);background:0 0;border:none;width:100%;height:100%;padding:0;display:block}.favorite-row__view-trigger:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.favorite-row__image{object-fit:contain;border-radius:var(--radius-md);background:var(--color-surface-raised);width:100%;height:100%}.favorite-row__info{flex:1;min-width:0}.favorite-row__name{font-size:var(--font-size-base);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;margin:0;font-weight:600;overflow:hidden}.favorite-row__meta{align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:var(--spacing-xs) 0 0;min-width:0;display:flex}.favorite-row__meta-text{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.favorite-row__badges{align-items:center;gap:var(--spacing-xs) var(--spacing-sm);margin-top:var(--spacing-sm);flex-wrap:wrap;display:flex}.favorite-row__supertype{background:var(--color-tag-bg);color:var(--color-tag-text);padding:2px var(--spacing-sm);font-weight:600;font-size:var(--font-size-xs);white-space:nowrap;border-radius:5px}.favorite-row__type-detail{font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.favorite-row__artist{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:var(--spacing-xs) 0 0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.favorite-row__tag-dots{align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-sm);flex-wrap:wrap;display:flex}.favorite-row__actions{align-items:center;gap:var(--spacing-sm);flex-shrink:0;display:none}@media (width>=768px){.favorite-row__actions{display:flex}}.favorite-row__view-btn{border:var(--border-width-sm) solid var(--color-border-strong);border-radius:var(--radius-full);background:var(--color-surface-raised);width:32px;height:32px;color:var(--color-text-primary);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);justify-content:center;align-items:center;display:flex}.favorite-row__view-btn:hover{background:var(--color-primary);color:var(--color-on-primary);transform:scale(1.08)}.favorite-row__view-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.favorite-row__more{border:var(--border-width-sm) solid var(--color-border-strong);border-radius:var(--radius-full);background:var(--color-surface-raised);width:32px;height:32px;color:var(--color-text-primary);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;display:flex}.favorite-row__more:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (width>=768px){.favorite-row__more{display:none}}@media (width<=767px){.favorite-row{gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md)}.favorite-row__thumb{width:68px;height:95px}}@media (prefers-reduced-motion:reduce){.favorite-row,.favorite-row__select,.favorite-row__view-btn,.favorite-row__more{transition:none}.favorite-row:hover,.favorite-row--selected,.favorite-row--selected:hover,.favorite-row__select:hover,.favorite-row__view-btn:hover{transform:none}}.bulk-action-bar{left:50%;bottom:calc(var(--spacing-lg) + env(safe-area-inset-bottom,0px));z-index:calc(var(--z-index-overlay) - 1);align-items:center;gap:var(--spacing-md);max-width:calc(100vw - var(--spacing-lg) * 2);padding:var(--spacing-sm) var(--spacing-sm) var(--spacing-sm) var(--spacing-lg);-webkit-backdrop-filter:blur(16px);border:var(--border-width-sm) solid var(--color-border-strong);border-radius:var(--radius-full);box-shadow:var(--shadow-elevated), var(--shadow-modal);background:#1e132cf7;animation:.2s ease-out bulkActionBarSlideUp;display:flex;position:fixed;transform:translate(-50%)}:root[data-theme=light] .bulk-action-bar{background:#fff8f3f7}@keyframes bulkActionBarSlideUp{0%{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%)}}.bulk-action-bar__count{font-size:var(--font-size-sm);color:var(--color-text-primary);white-space:nowrap;flex-shrink:0;font-weight:600}.bulk-action-bar__group{align-items:center;gap:var(--spacing-sm);display:flex}.bulk-action-bar__menu{position:relative}.bulk-action-bar__btn{align-items:center;gap:var(--spacing-xs);height:40px;padding:0 var(--spacing-md);border:var(--border-width-sm) solid var(--color-border-strong);border-radius:var(--radius-full);background:var(--color-surface-raised);color:var(--color-text-primary);font-family:inherit;font-size:var(--font-size-sm);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast);white-space:nowrap;font-weight:600;display:inline-flex}.bulk-action-bar__btn:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-primary)}.bulk-action-bar__btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.bulk-action-bar__btn:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.bulk-action-bar__btn--danger{color:var(--color-error);border-color:#ef44444d}.bulk-action-bar__btn--danger:hover:not(:disabled){border-color:var(--color-error);background:#ef44441f}.bulk-action-bar__panel{bottom:calc(100% + var(--spacing-sm));min-width:220px;max-width:min(280px, calc(100vw - var(--spacing-lg) * 2));background:var(--color-modal-bg);border:var(--border-width-sm) solid var(--color-border-strong);border-radius:var(--radius-lg);max-height:260px;box-shadow:var(--shadow-modal);z-index:var(--z-index-popover);padding:var(--spacing-xs) 0;animation:.15s ease-out bulkActionBarPanelIn;position:absolute;left:50%;overflow-y:auto;transform:translate(-50%)}@keyframes bulkActionBarPanelIn{0%{opacity:0;transform:translate(-50%,4px)}to{opacity:1;transform:translate(-50%)}}.bulk-action-bar__panel-item{align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-primary);font-family:inherit;font-size:var(--font-size-sm);text-align:left;cursor:pointer;transition:background-color var(--transition-fast);background:0 0;border:none;font-weight:500;display:flex}.bulk-action-bar__panel-item:hover:not(:disabled){background:var(--color-surface-raised)}.bulk-action-bar__panel-item:disabled{opacity:var(--opacity-disabled);cursor:default}.bulk-action-bar__panel-item-check{color:#0000;flex-shrink:0;justify-content:center;align-items:center;width:14px;display:flex}.bulk-action-bar__panel-item-check[data-state=all]{color:var(--color-success)}.bulk-action-bar__panel-item-check[data-state=some]{color:var(--color-text-muted)}.bulk-action-bar__panel-empty{padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.bulk-action-bar__clear{border-radius:var(--radius-full);width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.bulk-action-bar__clear:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.bulk-action-bar__clear:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (width<=640px){.bulk-action-bar{left:50%;bottom:calc(var(--spacing-md) + env(safe-area-inset-bottom,0px));max-width:calc(100vw - var(--spacing-sm) * 2);gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-xs) var(--spacing-xs) var(--spacing-sm);background:var(--color-modal-bg);-webkit-backdrop-filter:none;transform:translate(-50%)}.bulk-action-bar__group{justify-content:flex-start;gap:var(--spacing-xs);flex:none;min-width:0}.bulk-action-bar__btn{flex:none;justify-content:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0}.bulk-action-bar__btn span{display:none}.bulk-action-bar__clear{width:44px;height:44px}}@media (prefers-reduced-motion:reduce){.bulk-action-bar,.bulk-action-bar__panel,.bulk-action-bar__btn,.bulk-action-bar__clear{transition:none;animation:none}}
